ESPr One 32(ESP-WROOM-32 Arduino互換ボード)のピン配置について
ESPr One 32はWi-FiモジュールESP-WROOM-32をArduinoフォームファクタの基板に搭載してArduinoと同じように使えるようにしたボードです。ただし、Arduino Uno R3等と完全にピン配置が互換にはできないため、本ページでは互換性を保つために変更すべき点を記述します。
資料
基本的なピンアサイン
Arduinoのピン番号 | ESP32のIO番号 | ESP32の主機能
|
| |
|
D0 | 3 | Serial RXD
|
D1 | 1 | Serial TXD
|
D2 | 15 | HSPI SS, T3, A13
|
D3 | 13 | HSPI MOSI, T4, A14
|
D4 | 12 | HSPI MISO, T5, A15
|
D5 | 14 | HSPI SCK, T6, A16
|
D6 | 0 | boot mode, A11, T1
|
D7 | 2 | boot mode, A12, T2
|
D8 | 16 | Serial1
|
D9 | 17 | Serial1
|
D10 | 5 | VSPI CS
|
D11 | 23 | VSPI MOSI
|
D12 | 19 | VSPI MISO
|
D13 | 18 | VSPI CLK
|
A0 | 25 | DAC1, A18
|
A1 | 26 | DAC2, A19
|
A2 | 27 | A17
|
A3 | 4 | A10, T0
|
A4 | 21 | SDA
|
A5 | 22 | SCL
|
- 例えば、ArduinoのD4ピンに信号を出したいなと思ったときは、ESP32のIO12がD4へ割り当てられていることを上の表から確認して、スケッチには
12
を記述します (例: digitalWrite(12, HIGH);
)。
- Arduino A4,A5はアナログ入力として使えません。デジタル入出力およびI<sup>2</sup>C専用となっています。
- ESP32のIO32,IO33は、本基板では発振子専用としており、GPIOピンとして利用できません。
- IO0, IO2はESP32のブートモード切り替えに使われています。シールドと接続すると起動できなくなるといった干渉がある場合、背面のジャンパを切り離すことで起動モードの不用意な変更を防ぐことができます。
ジャンパによって変更可能なピン
Arduinoのピン番号 | ESP32のIO番号 | ESP32の主機能 | 設置場所
|
| | |
|
A0 | 36 | A0 | 基板表
|
A1 | 39 | A3 | 基板表
|
A2 | 34 | A6 | 基板表
|
A3 | 35 | A7 | 基板裏
|
- ここで割当可能なESP32のA0,A3,A6,A7は入力としてのみ利用できます。また、現在、WiFi機能と並行して利用できないという仕様があります。
- A0, A1, A2 の変更用ジャンパは基板表に設置されています。
- 画像上部からA0, A1, A2用となっています。デフォルトでは全部左側が導通するようになっています。
- ジャンパの右側を切断し、左側をハンダを盛るなどして導通させると機能が切り替わります。
左のパッド | Arduinoのピン | 右側のパッド
|
| |
|
IO25(A18) | A0 | IO36(A0)
|
IO26(A19) | A1 | IO39(A3)
|
IO27(A17) | A2 | IO34(A6)
|
左のパッド | Arduinoのピン | 右側のパッド
|
| |
|
IO35(A7) | A0 | IO4(A10)
|
- 例えば、ESP32のタッチ入力
T0
が使いたい、となった場合は以下のように考えます。
T0
が使えるのは ESP32 の IO4 だけである。
- IO4 が割り当てられているのは、上の表より、ArduinoのA3である
- よって、スケッチには
T0
と記述し、基板上のA3をタッチするとタッチ検出ができる