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

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
168行目: 168行目:
<br>
<br>
[[ファイル:Arduino UNO R3 04.jpg|フレームなし|中央]]
[[ファイル:Arduino UNO R3 04.jpg|フレームなし|中央]]
<br><br>
== DAC ==
Arduino UNO R4 WiFiのDACピンのデフォルトの書き込み分解能は8ビットである。<br>
これは、このピンに書き込まれる値が0~255の間であることを意味する。<br>
<br>
ただし、この書き込み分解能を12ビットまで変更することができ、ピンに書き込まれる値は0~4096の間となる。<br>
<br>
<syntaxhighlight lang="c++">
analogWriteResolution(12);
</syntaxhighlight>
<br><br>
<br><br>



2024年12月9日 (月) 13:05時点における版

ピン配置

Arduino UNO R3

下表に、Arduino UNO R3の全IOピンの機能を示す。

Arduino UNO R3のピン配置
ピン 種類 説明
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ピンの機能を示す。

Arduino UNO R4 WiFiのピン配置
ピン 種類 説明
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出力

UNO R4 WiFiは、最大12ビットの分解能を持つDACを搭載しており、PWMピンよりも高性能なアナログ出力ピンとして機能する。
A1 アナログ入力 Analog入力, OPアンプ +

RA4M1には内蔵OPAMPがある。
A2 アナログ入力 Analog入力, OPアンプ -

RA4M1には内蔵OPAMPがある。
A3 アナログ入出力 Analog入力, OPアンプ出力

RA4M1には内蔵OPAMPがある。
A4 アナログ入力 Analog入力, SDA

A4ピンとA5ピンは同じI2Cバスに接続されている。
A5 アナログ入力 Analog入力, SCL

A4ピンとA5ピンは同じI2Cバスに接続されている。



各部詳細

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



DAC

Arduino UNO R4 WiFiのDACピンのデフォルトの書き込み分解能は8ビットである。
これは、このピンに書き込まれる値が0~255の間であることを意味する。

ただし、この書き込み分解能を12ビットまで変更することができ、ピンに書き込まれる値は0~4096の間となる。

 analogWriteResolution(12);



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)