説明
Arduinoボードとコンピュータや他の機器との通信に利用する。全てのArduinoボードは、少なくとも一つのシリアルポート(UARTやUSARTとも呼ばれる)を持っている。複数のシリアルポートを持つボードもある。
| Board | Serial pins | Serial1 pins | Serial2 pins | Serial3 pins | Serial4 pins |
|---|---|---|---|---|---|
| UNO R3, UNO R3 SMD Mini | 0(RX), 1(TX) | ||||
| Nano (classic) | 0(RX), 1(TX) | ||||
| UNO R4 Minima, UNO R4 WiFi | 0(RX0), 1(TX0) | ||||
| Leonardo, Micro, Yún Rev2 | 0(RX), 1(TX) | ||||
| UNO WiFi Rev2 | 0(RX), 1(TX) | ||||
| MKR boards | 13(RX), 14(TX) | ||||
| Zero | 0(RX), 1(TX) | ||||
| GIGA R1 WiFi | 0(RX), 1(TX) | 19(RX1), 18(TX1) | 17(RX2), 16(TX2) | 15(RX3), 14(TX3) | |
| Due | 0(RX), 1(TX) | 19(RX1), 18(TX1) | 17(RX2), 16(TX2) | 15(RX3), 14(TX3) | |
| Mega 2560 Rev3 | 0(RX), 1(TX) | 19(RX1), 18(TX1) | 17(RX2), 16(TX2) | 15(RX3), 14(TX3) | |
| Nano 33 IoT | 0(RX0), 1(TX0) | ||||
| Nano RP2040 Connect | 0(RX0), 1(TX0) | ||||
| Nano BLE / BLE Sense | 0(RX0), 1(TX0) |
Nano ESP32は、ESP32コアベースなので、例外となっている。このボードでは、Serial0がRX0とTX0を参照し、Serial1とSerial2は、追加のポートで、空いている任意のポートを割り当てることができる。
| Board | Serial0 pins | Serial1 pins | Serial2 pins | Serial3 pins | Serial4 pins |
|---|---|---|---|---|---|
| Nano ESP32 | 0(RX0), 1(TX0) | 任意のGPIO | 任意のGPIO |
Nano ESP32に追加のシリアルポートを設定する方法は、この記事を参照すること。
古いボード(UnoとNano、Mini、Mega)では、0番ピンと1番ピンがコンピュータとの通信に使われる。これらのピンに何かをつなぐと、通信(ボードへのスケッチのアップロードを含む)に支障が出る可能性がある。
Arduino環境に組み込みのシリアルモニタをArduinoボードと通信するために使うことができる。ツールバーのシリアルモニタボタンをクリックし、Serial.begin()で設定したのと同じ通信速度を選択すると利用できる。
TX/RXピンを使ったシリアル通信はTTLロジックレベル(ボードにより、5Vもしくは3.3V)を利用する。これらのピンをRS232シリアルポートに直接接続しないこと。RS232は±12Vで動作するので、Arduinoボードが壊れるかもしれない。
これらのピンにはUSB-シリアル変換器が接続されていないので、これらのピンをPCとの通信に使うためには、外付けのUSB-シリアル変換器が必要となる。これらを外部のTTLシリアル機器との通信に使うには、ArduinoのTXピンと機器のRXピン、ArduinoのRXピンと機器のTXピンとを接続し、Megaのアースと機器のアースとを接続する必要がある。
参照
- ReadASCIIString
- ASCII TAble
- Dimmer
- Graph
- Physical Pixel
- Serial Call Response
- Serial Call Response ASCII
訳者註
SerialやSerial1、Serial2、Serial3は、C++の変数(オブジェクト)として、あらかじめ定義されているので、ユーザが定義する必要はありません。
オリジナルのページ
https://docs.arduino.cc/language-reference/en/functions/communication/serial/