「Arduinoの基礎 - ペリフェラル」の版間の差分
(→GPIO) |
(→GPIO) |
||
7行目: | 7行目: | ||
<br> | <br> | ||
==== GPIO ==== | ==== GPIO ==== | ||
14本のデジタルIOピン( | 14本のデジタルIOピン(D0 - D13)、6本のアナログINピン(A0 - A5)、6本のアナログOUTピン(D3, D5, D6, D9, D10, D11)がある。<br> | ||
<br> | <br> | ||
'''・デジタルIOピン( | '''・デジタルIOピン(D0 - D13)'''<br> | ||
Arduino IDEのソースコード上で入出力(INPUT, OUTPUT)として設定する。<br> | Arduino IDEのソースコード上で入出力(INPUT, OUTPUT)として設定する。<br> | ||
センサから読み取る時は入力、アクチュエータに接続するときは出力である。<br> | センサから読み取る時は入力、アクチュエータに接続するときは出力である。<br> | ||
このピンで扱う電圧値は、HIGHとLOWの2値のみである。<br> | このピンで扱う電圧値は、HIGHとLOWの2値のみである。<br> | ||
<br> | <br> | ||
'''・アナログINピン( | '''・アナログINピン(A0 - A5)'''<br> | ||
アナログセンサを読み取る時に使用する。<br> | アナログセンサを読み取る時に使用する。<br> | ||
このピンで扱う電圧値は、0 - 1023である。<br> | このピンで扱う電圧値は、0 - 1023である。<br> | ||
<br> | <br> | ||
'''・アナログOUTピン( | '''・アナログOUTピン(D3, D5, D6, D9, D10, D11)'''<br> | ||
デジタルIOピンの6本のみアナログ出力として使用できる。<br> | デジタルIOピンの6本のみアナログ出力として使用できる。<br> | ||
このピンで扱う電圧値は、0 - 255である。<br> | このピンで扱う電圧値は、0 - 255である。<br> |
2019年8月10日 (土) 06:32時点における版
各部詳細
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)