Arduinoシリアル通信を理解する

シリアル通信とデバッグは、 アルドゥイーノ ボード。簡単に言えば、シリアル通信は、ボードが他のデバイス(別のコンピューター、周辺機器など)と通信するために使用する方法です。Arduinoシリアル通信について説明するときは、物理コンポーネント(Arduinoのシリアル ポートなど)とソフトウェア コンポーネント(Arduino IDEのシリアル モニターを使用)を区別する必要もあります。

Arduinoシリアルポート

すべてのArduinoボードには少なくとも1つのシリアル ポートがあり、多くのボードには追加のシリアル ポート (Serial1、Serial2など) が組み込まれています。その他の委員会、例えば レオナルド、USB形式のシリアル通信ポートも備えています。USB対応ボードでは、USBをシリアルと呼びます。その他の標準シリアル ポートは「Serial1」で始まり、そこから順に番号が付けられます。

ボード上のSerial (USBの場合はSerial1) と呼ばれるポートは、ピン0と1 (それぞれRXとTX) を介して通信します。これらのピンをシリアル データ転送に使用する場合、デジタルI/Oには使用できなくなることに注意してください。追加のシリアル ピン (たとえば、Arduino Dueのピン18と19) を使用してPCと通信するには、追加のピンがボードの内蔵アダプタに接続されていないため、 USBシリアル アダプタがあることを確認してください。

ArduinoのWebサイトには、さまざまなシリアル ポートと、モデル別の必要なアダプターおよび接続の 詳細な内訳 が掲載されています。

Arduinoシリアルサンプルコード

ボードに内蔵されているシリアル ポートよりも多くのシリアル ポートが必要な場合は、別のオプションがあります。Arduinoソフトウェア シリアル ライブラリを使用すると、RXおよびTX機能を置き換えるソフトウェアによって補完された他のデジタル ピンを使用して、ボードのシリアル接続を拡張できます。

この考え方をよりよく理解するために、Tom Igoeのパブリック ドメインのサンプル コードを次に示します。

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); 
// RX、TX

voidsetup() {
  
// シリアル通信を開き、ポートが開くのを待ちます:
  
Serial.begin(57600);
  
while (!Serial) {
    ; 
// シリアルポートが接続されるのを待ちます。ネイティブUSBポートのみに必要
  


  
Serial.println("おやすみなさい月さん!");

  
// SoftwareSerialポートのデータ レートを設定します
  mySerial.
begin(4800);
  mySerial.
println("Hello, world?");
'',a41>

voidloop() { // 何度も繰り返し実行
  
if (mySerial.available()) {
    
Serial.write(mySerial.read());
  '',a56>
  
if (シリアル.使用可能()) {
    mySerial.
書き込み(シリアル.読み取り());
  }}

このコードは、ピン10と11をそれぞれRXポートとTXポートとして使用して仮想シリアル ポートを作成します。

Arduinoシリアルモニター通信

Arduino IDEソフトウェアを実行しているPCにデバイスを接続すると、シリアル モニターを使用してボードと通信できるようになります。シリアル モニターを開くには、[ツール] メニューから [シリアル モニター] を選択するか、小さな虫眼鏡をクリックします。コード内でシリアル通信を開始するには、呼び出しと同じボー レートを使用します。

シリアル モニターは、Arduinoがシリアル ポートに出力するすべての情報を表示するため、デバッグには不可欠です。スケッチまたはプログラムが期待どおりに実行されない場合は、コード内でシリアル出力を使用できます。シリアル モニター上のこれらの出力メッセージを使用すると、プログラムの状態を評価してエラーの場所を特定できます。

結論

Arduinoシリアル ポートとArduinoソフトウェア シリアルを理解することは、ボードをパソコンに接続したり、他の周辺機器に接続したり、問題のあるコードや欠陥のあるコードを正常にデバッグしたりするなど、さまざまな基本機能を実行する上で重要です。シリアル関数ソフトウェア シリアルなどの詳細については、Arduinoデータベースを参照してください。

 

最新ニュース

申し訳ございませんが、フィルター選択では結果が返されませんでした。

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here