説明
Arduinoボードとコンピュータや他の機器との通信に利用する。全てのArduinoボードは、少なくとも一つのシリアルポート(UARTやUSARTとも呼ばれる)を持っている。複数のシリアルポートを持つボードもある。
Board | USB CDC name | Serial pins | Serial1 pins | Serial2 pins | Serial3 pins |
---|---|---|---|---|---|
Uno, Nano, Mini | 0(RX), 1(TX) | ||||
Mega | 0(RX), 1(TX) | 19(RX), 18(TX) | 17(RX), 16(TX) | 15(RX), 14(TX) | |
Leonardo, Micro, Yún | Serial | 0(RX), 1(TX) | |||
Uno WiFi Rev.2 | Connected to USB | 0(RX), 1(TX) | Connected to NINA | ||
MKR boards | Serial | 13(RX), 14(TX) | |||
Zero | SerialUSB (Native USB Port only) | Connected to Programming Port | 0(RX), 1(TX) | ||
Due | SerialUSB (Native USB Port only) | 0(RX), 1(TX) | 19(RX), 18(TX) | 17(RX), 16(TX) | 15(RX), 14(TX) |
101 | Serial | 0(RX), 1(TX) |
UnoとNano、Mini、Megaでは、0番ピンと1番ピンがコンピュータとの通信に使われる。これらのピンに何かをつなぐと、通信(ボードへのスケッチのアップロードを含む)に支障が出る可能性がある。
Arduino環境に組み込みのシリアルモニタをArduinoボードと通信するために使うことができる。ツールバーのシリアルモニタボタンをクリックし、Serial.begin()で設定したのと同じ通信速度を選択すると利用できる。
TX/RXピンを使ったシリアル通信はTTLロジックレベル(ボードにより、5Vもしくは3.3V)を利用する。これらのピンをRS232シリアルポートに直接接続しないこと。RS232は±12Vで動作するので、Arduinoボードが壊れるかもしれない。
Arduino Megaは、さらに3つのシリアルポートを持っている。19番ピン(RX)と18番ピン(TX)を使うSerial1、17番ピン(RX)と16番ピン(TX)を使うSerial2、15番ピン(RX)と14番ピン(TX)を使うSerial3である。これらのピンにはUSB-シリアル変換器が接続されていないので、これらのピンをPCとの通信に使うためには、外付けのUSB-シリアル変換器が必要となる。これらを外部のTTLシリアル機器との通信に使うには、ArduinoのTXピンと機器のRXピン、ArduinoのRXピンと機器のTXピンとを接続し、Megaのアースと機器のアースとを接続する必要がある。
参照
利用例 ReadASCIIString
利用例 ASCII TAble
利用例 Dimmer
利用例 Graph
利用例 Physical Pixel
利用例 Serial Call Response ASCII
訳者註
SerialやSerial1、Serial2、Serial3は、C++の変数(オブジェクト)として、あらかじめ定義されているので、ユーザが定義する必要はありません。
各関数の説明中の「書式」は、オリジナルページの説明と異なり、C++言語の関数(メソッド)定義を記述しています。
オリジナルページの記述例: | Serial.begin(speed) |
このウェブページでの記述例: | void HardwareSerial::begin(long speed); |
実際にスケッチを書く際は注意してください。
オリジナルのページ
https://www.arduino.cc/reference/en/language/functions/communication/serial/
Last Revision: 2019/06/26