※この記事は2015年10月29日に公開した記事を再編集し、2023年2月28日に再度公開しました。
目次
今回からは、いよいよArduinoでWi-Fi通信に取り組んでみます。ArduinoのWi-Fiモジュールはxbeeをはじめとしていろいろな種類があるのですが、今回はArduinoマイコンとしても使えて、かつWi-Fiモジュールを搭載しているESP-WROOM-02を使って回路を組んでいきます。
このESP-WROOM-02の魅力は、なんといっても1,000円に満たない価格で購入できて、サイズも小さいというのが最大の魅力です。最初の準備はちょっと面倒かもしれませんが、こんな安価にArduinoもWi-Fiも使えて、省スペースのサイズで無線化が可能になるのであれば、取り組んでみる価値はありますね!今回から数回にわたって、最終的にWi-Fi通信で動作するガジェットの作成を目標に頑張っていきます。
「どんなガジェットがいいかなー、やっぱりベタにラジコン?それとも小さいサイズを活かして小型ドローンとか実装できる?それともスマートフォンで操作できる遠隔のリモコンマシン?」etc…などなど、あれやこれや発想を膨らませながら歩みを進めていきましょう!
今回はこのESP-WROOM-02を使う上で、知っておく・準備しておく必要のある情報を把握していきます。
今回の電子工作レシピ
時間目安:40分
必要なパーツ
- ESP-WROOM-02本体 https://akizukidenshi.com/catalog/g/gM-09607/
- ブレッドボードhttps://akizukidenshi.com/catalog/g/gK-09758/
- ジャンパピン(2mmピッチ) http://akizukidenshi.com/catalog/g/gP-03902/
- ピンヘッダ(2.54mmピッチ、2mmピッチ) http://akizukidenshi.com/catalog/g/gC-00167/
- 低電圧レギュレーターLDO 3.3v https://www.marutsu.co.jp/pc/i/127889/
そもそもESP-WROOM-02って何?
写真1 ESP-WROOM-02
このESP-WROOM-02は、元々Espressif Systems社が提供している、ESP8266EXというチップを搭載したWi-Fi通信が可能なWi-Fiモジュールのことです。ESP-WROOM-02の特徴としては、冒頭でも紹介したように、小さいサイズながらもArduinoのプログラムを書き込める(Arduinoとして利用出来る)、Wi-Fi通信が可能、そして安価というメリットを持っており、作品の制作などでこのモジュールを使っている方も多くいます。
購入に関しては各社から販売されていますが、次の項目で記載するように、各社それぞれ仕様が違うので購入にはちょっとだけ注意が必要です。
さまざまなブレイクアウトボードの種類について
ESP-WROOM-02は、そのままではピンの配置が1.5mmピッチになっているため、ブレッドボードなどで利用するのが難しい状態です。そのため、各社からブレイクアウトボードとして、1.5mmピッチからブレッドボードで利用できる2.54mmピッチへの変換基盤の上にESP-WROOM-02が載っているものが販売されています。
この、変換基盤なのですが、各社それぞれ仕様が少しずつ違うため、購入される際は注意が必要です。基本的には各社販売ページに設定の方法が記載されているかと思いますので、それを見ながら設定をすれば問題ないかと思います。
今回はマイクロテクニカ社から出ているESP-WROOM-02のブレイクアウトボードを利用して連載を進めていきます。
参考:ESP-WROOM-02の販売先
- ESP-WROOM-02単体 – 秋月電子
- ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》 – スイッチサイエンス
- ESP-WROOM-02ピッチ変換済みモジュール《フル版》 – スイッチサイエンス
- Wi-Fi-UARTモジュール ブレークアウトボード実装済み [BB-ESP-WROOM02] – マイクロテクニカ
- CDP-ESP8266 – CERVO
PCとの接続について
ESP-WROOMを使ってArduinoプログラムを書き込むために、PCとの接続に必要となるのは、FTDI・USBシリアル変換ケーブルです。これまで利用していたArduino UNOは通常のUSBケーブルでよかったですが、ESP-WROOM-02はArduino Pro Miniなどと同様に、シリアル変換を行ってPCと接続する必要があります。
このケーブルの種類には、3.3vのみ、5vのみ、3.3v/5vのジャンパ切り替えタイプなどありますが、ESP-WROOMの仕様は3.3vなので、3.3vタイプか、3.3v/5v切り替えタイプを用意してください。5vのタイプしかない、という場合は、第25回の連載でも使ったような5vを3.3vに変換する、低電圧レギュレータLDOを用意する必要があります。
電源について
ESP-WROOM-02を利用する上でつまずきやすいのが 、供給する電源容量が足りずにESP-WROOM-02の動作が不安定となることです。電圧は3.3vで問題がなくても、電流が足りずに不安定になる場合が多いようです。スペックを確認するとESP-WROOM-02は電流を平均80mA使うと書かれていますが、PCから電源を取る場合、FTDIケーブルからだと電流が足りない場合があります。また別の方法でArduino UNOなどから3.3vを取り出している例もありますが、この場合、古いArduino UNOの3.3vピンの出力電流が50mAまでのものがあるので注意が必要です。
ESP-WROOM-02の動作基盤の作成
基本知識が揃ったところで、実際にESP-WROOM-02を動かすための準備をしていきます。
今回利用するマイクロテクニカ社のブレイクアウトボードの場合、ハンダ付けとジャンパピンによる設定が必要となります。ハンダ付けする際は、ボードとピンヘッダだけで接合すると斜めになったりするので、ブレッドボードに挿した状態でハンダ付けする方法が良さそうです。しかし、ハンダ付けに時間がかかりすぎると、ブレッドボードのプラスチック部分が溶ける場合もありますので気をつけて下さい。
次に、H0L〜H15L、RSTなどと書かれている部分の上にピンヘッダを接続して、ジャンパ品、リセット用のスイッチをハンダ付けします。
部品を購入するときに気をつける必要があるのが、ピンヘッダのピッチです。通常のブレッドボードは2.54mmピッチですが、ブレイクアウトボードのH0L〜H15L、RSTなどの部分は2mmピッチになっており、2mmピッチのピンヘッダやジャンパピンを用意する必要があります。
ESP-WROOM-02の動作モードとジャンパピンの設定について
ESP-WROOM-02の利用には、利用シーンに応じてモードを切り替える必要があります。マイクロテクニカ社のブレイクアウトボードでは、この切り替えをジャンパピンの差し替えで行えるようになっています。
モード | GPIO15 | GPIO2 | GPIO0 |
書き込みモード(UART Download Mode) | Low | High | Low |
実行モード(Flash Boot Mode) | Low | High | High |
SDブートモード(SD-Card Boot Mode) | High | Low | Low |
UART Download Mode
ファームウェアを書き込むためのモードです。今回はArduinoでプログラムを書き込み動作させるため、このモードに設定して利用します。
Flash Boot Mode
実行モードです。このモードではATコマンドという実行方法でESP-WROOM-02を動作できるモードです。
SD-Card Boot Mode
SDカードによるモードです。今回はこのモードは利用しません。
今回は、UART Download Modeを利用するので、表に合わせてジャンパピンを設定して完了です。
リセット(RST)部分のハンダは、右に3つGNDになっているので、さまざまな幅のスイッチが配置できるようになっています。
まとめ
ようやくこれでESP-WROOM-02を使う準備が整いました。次回以降からは、実際にArduinoプログラムを書き込んで動作をさせたり、Wi-Fi通信にチャレンジしていきます!
この連載の記事
- 第32回 Arduinoで使える小型Wi-FiモジュールESP-WROOM-02でガジェットを作る(準備編)(このページの記事)
- 第33回 Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(Wifi通信テスト編)
- 第34回 Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(Arduino利用編)
- 第35回 Arduinoマイコンとしても使える小型WifiモジュールESP-WROOM-02を使ってみる(Arduinoでwifi利用編)
- 第36回 Arduinoマイコンとしても使える小型WifiモジュールESP-WROOM-02を使ってみる(IFTTTで手軽にIoT編)