ESP-WROOM-02 Arduino互換ボードのGPIOはこうやって使う

  • 53
    いいね
  • 0
    コメント

スイッチサイエンス製 ESP-WROOM-02 Arduino互換ボード

スイッチサイエンスからESP-WROOM-02 Arduino互換ボードが発売されました。今まではESP-WROOM-02(ESP8266)をArduinoのスケッチを書き込んで使うためには、モジュールをはんだ付けしてブレッドボード上で使用したりと少々使いづらい部分がありました。それをこの互換ボードが解消してくれます :pray:

ESP-WROOM-02 Arduino互換ボード
2620_1.jpg

※欲しくなるポイントをこちらの記事「ついにESP-WROOM-02のArduino互換ボードが発売! 欲しくなるポイントまとめ」にてまとめました。ほしい! :metal:

Arduino互換ボードのGPIOの配置図

Arduino IDEでスケッチを書いてる際に、pinMode()でピンのモードを指定したりdigitalRead()で入力値を読み取ったりします。そのときのピン番号はESP-WROOM-02側のGPIOの番号を使います。互換ボードの外側にあるD0のArduino表記では動きません。IO0であればpinMode(0, OUTPUT)になります。

ESP-WROOM-02のピン対応図

以下の対応図は記事「ESP-WROOM-02を使ってみる」からいただきました。ありがとうございます :clap:
ESP-WROOM-02のピン対応表

互換ボード上のピン配置図

Arduino Unoとは配置が異なるため、IO14などのように重複しているピンもあります。ボードに搭載されているLEDはデジタル14番ピンに割り当てられています。

互換ボード上のピン配置図

GPIO早見表

各ピンで使える値の早見表です。IO1はpinMode()で入出力の設定をしようとするとスケッチがクラッシュしました。IO0,2,15は起動時やプログラミング時に使用しているらしく、必要に迫られないのであれば使用しないほうがいいでしょう :pear:
(動作は確認できたので表に加えています。)

GPIO Digital Input Digital Output Analog Input Analog Output(PWM)
IO0 × ×
IO1 × × × ×
IO2 × ×
IO4 × ×
IO5 × ×
IO12 ×
IO13 ×
IO14 ×
IO15 ◯ ※1 ×
IO16 ◯ ※2 ×
A0 × × ×

※1:スケッチを書き込むときに配線していると書き込めませんでした。一度線を抜いてスケッチを書き込み後に再び挿すと動作しました。
※2:用途によってはうまく読み取ってくれないようです(温湿度センサー:DHT11は動作せず)。

Digital Input

デジタル値の入力に使えるピンです。ボタンのON/OFFなどを取得したいときなどに使います。
IO12,13,14,15,16で使えます。
(IO0,2,4,5では使えませんでしたなぜでしょう、、)

Digital Output

デジタル値の出力に使えるピンです。Lチカさせたりするときに使います。
IO0,2,4,5,12,13,14,15,16で使えます。

Analog Input

アナログ値の入力に使えるピンです。センサーの値を取得したいときなどに使います。
少ないですが、A0のみで使えます。

Analog Output(PWM)

アナログ値の出力に使えるピンです。モーターのスピードやLEDの明るさなどを調整したい時などに使います。
デジタル出力と同じく、IO0,2,4,5,12,13,14,15,16で使えます。

正確な情報求む!

完全に電子回路を理解できていないため、この記事の情報の精度に少々不安があります。もし不正確な情報がありましたら、コメント等で指摘していただけると嬉しいです :bow:

参考リンク

ESP-WROOM-02 Arduino互換ボード記事一覧