Edited at

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

More than 3 years have passed since last update.


スイッチサイエンス製 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互換ボード記事一覧