「Arduinoの基礎 - ペリフェラル」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
7行目: 7行目:
<br>
<br>
==== GPIO ====
==== GPIO ====
14本のデジタルIOピン(PIN0 - PIN13)、6本のアナログINピン(PIN0 - PIN5)、6本のアナログOUTピン(PIN3, 5, 6, 9, 10, 11)がある。<br>
14本のデジタルIOピン(D0 - D13)、6本のアナログINピン(A0 - A5)、6本のアナログOUTピン(D3, D5, D6, D9, D10, D11)がある。<br>
<br>
<br>
'''・デジタルIOピン(PIN0 - PIN13)'''<br>
'''・デジタル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ピン(PIN0 - PIN5)'''<br>
'''・アナログINピン(A0 - A5)'''<br>
 アナログセンサを読み取る時に使用する。<br>
 アナログセンサを読み取る時に使用する。<br>
 このピンで扱う電圧値は、0 - 1023である。<br>
 このピンで扱う電圧値は、0 - 1023である。<br>
<br>
<br>
'''・アナログOUTピン(PIN3, 5, 6, 9, 10, 11)'''<br>
'''・アナログ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の各部詳細は下図の通りである。

Arduino UNO R3 01.jpg

図の左上のUSBコネクタの近くに、ICSP2(6ピンのピンヘッダ)が無いArduinoは、
USB - シリアル変換にATmega16U2が使用されていない(恐らくCH340Gが使用されている)と思われるので避けたほうがよい。

Arduino UNO R3 02.jpg


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は除く)

Arduino UNO R3 03.jpg
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


Arduino UNO R3 04.jpg



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)