ピン配置
Arduino UNO R3
下表に、Arduino UNO R3の全IOピンの機能を示す。
ピン | 種類 | 説明 |
---|---|---|
D0 | デジタル | UART受信 (RX) |
D1 | デジタル | UART送信 (TX) |
D2 | デジタル | デジタル入出力 |
D3 | デジタル | デジタル入出力, PWM (~) (~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。 Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。 |
D4 | デジタル | デジタル入出力 |
D5 | デジタル | デジタル入出力, PWM (~) (~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。 Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。 |
D6 | デジタル | デジタル入出力, PWM (~) (~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。 Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。 |
D7 | デジタル | デジタル入出力 |
D8 | デジタル | デジタル入出力 |
D9 | デジタル | デジタル入出力, PWM (~) (~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。 Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。 |
D10 | デジタル | デジタル入出力, PWM (~), SPI (SS) (~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。 Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。 |
D11 | デジタル | デジタル入出力, PWM (~), SPI (MOSI) (~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。 Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。 |
D12 | デジタル | デジタル入出力, SPI (MISO) |
D13 | デジタル | デジタル入出力, SPI (SCK), 内蔵LED |
A0 | アナログ入力 | アナログ入力 |
A1 | アナログ入力 | アナログ入力 |
A2 | アナログ入力 | アナログ入力 |
A3 | アナログ入力 | アナログ入力 |
A4 | アナログ入力 | アナログ入力, I2C (SDA) |
A5 | アナログ入力 | アナログ入力, I2C (SCL) |
Arduino UNO R4 WiFi
下表に、Arduino UNO R4 WiFiの全IOピンの機能を示す。
ピン | 種類 | 説明 |
---|---|---|
D0 | デジタル | UART受信 |
D1 | デジタル | UART送信 |
D2 | デジタル | GPIOピン, 割り込み |
D3 | デジタル | GPIOピン, 割り込み, PWM |
D4 | デジタル | GPIOピン |
D5 | デジタル | GPIOピン, PWM |
D6 | デジタル | GPIOピン, PWM |
D7 | デジタル | GPIOピン |
D8 | デジタル | GPIOピン |
D9 | デジタル | GPIOピン, PWM |
D10 | デジタル | SPI (CS), GPIOピン, PWM |
D11 | デジタル | SPI (COPI), GPIOピン, PWM |
D12 | デジタル | SPI (CIPO), GPIOピン |
D13 | デジタル | SPI (SCK), GPIOピン, ビルトインLED |
A0 | アナログ | Analog入力, DAC出力 |
A1 | アナログ入力 | Analog入力, OPAMP + |
A2 | アナログ入力 | Analog入力, OPAMP - |
A3 | アナログ入出力 | Analog入力, OPAMP出力 |
A4 | アナログ入力 | Analog入力, SDA* |
A5 | アナログ入力 | Analog入力, SCL* |
各部詳細
Arduino UNO R3の各部詳細は下図の通りである。
図の左上のUSBコネクタの近くに、ICSP2(6ピンのピンヘッダ)が無いArduinoは、
USB - シリアル変換にATmega16U2が使用されていない(恐らくCH340Gが使用されている)と思われるので避けたほうがよい。
GPIO
14本のデジタルIOピン(D0 - D13)、6本のアナログINピン(A0 - A5)、6本のアナログOUTピン(D3, D5, D6, D9, D10, D11)がある。
・デジタルIOピン(D0 - D13)
Arduino IDEのソースコード上で入出力(INPUT, OUTPUT)として設定する。
センサから読み取る時は入力、アクチュエータに接続するときは出力である。
このピンで扱う電圧値は、HIGHとLOWの2値のみである。
・アナログINピン(A0 - A5)
アナログセンサを読み取る時に使用する。
このピンで扱う電圧値は、0 - 1023である。
・アナログOUTピン(D3, D5, D6, D9, D10, D11)
デジタルIOピンの6本のみアナログ出力として使用できる。
このピンで扱う電圧値は、0 - 255である。
どのピンをアナログ出力とするかは、Arduino IDEのソースコード上で設定する。
電源
USB電源、ACアダプタ等を電源として使用できる。(ACアダプタは9[V] 2.1[mm]センタープラス型を推奨)
ACアダプタとUSB電源を同時に接続しても構わないが、その場合は、ACアダプタが電源となる。
SPI
SPI用のピンは、D10 - D13である。
ICSP端子を使えば、他ボードとピン互換にできる。(SSは除く)
UNO | LEONARDO | MEGA 2560 | |
---|---|---|---|
SCL | D13 / ICSP3 | ICSP3 | D52 / ICSP3 |
MISO | D12 / ICSP1 | ICSP1 | D50 / ICSP1 |
MOSI | D11 / ICSP4 | ICSP4 | D51 / ICSP4 |
SS | D10 | (TX LED) | D53 |
I2C
I2C用のピンは、A4 / A5である。
Arduino UNO R3で拡張されたSCL / SDAピンを使用すれば、他ボードとピン互換にできる。
I2C | UNO | LEONARDO | MEGA 2560 |
---|---|---|---|
SCL | A5 / SCL | D3 / SCL | D21 / SCL |
SDA | A4 / SDA | D2 / SDA | D20 / SDA |
Timer
Arduino UNOには、Timer0 / Timer1 / Timer2の3つのタイマーがある。
Timer0 | Timer1 | Timer2 |
---|---|---|
D5 / D6 | D9 / D10 | D3 / D11 |
Timerを使用する関数やライブラリを使用すると、思わぬ落とし穴に遭遇する事がある。
・delay(), millis(), micros() 等の関数でTimer0を利用しており、D5, D6をPWMに使用するとデューティ比が高めになる。
・ServoライブラリはTimer1を利用しており、D9およびD10でPWMが使用できなくなる。
・ToneライブラリはTimer2を利用しており、D3およびD11でPWMが使用できなくなる。
・SPIを利用する場合、D11でPWMが使用できなくなる。
Arduino言語マニュアル
言語リファレンスは [ヘルプ] - [リファレンス]で閲覧できる。(Arduino IDEのインストールフォルダのreferenceフォルダにある)
Arduino日本語リファレンス(Arduino Wiki)