できること

第69回 ESP-WROOM-32をArduinoで触ってみよう(環境構築セットアップ~Lチカ編)

Arduinoの互換ボードで、サイズやWi-Fiが搭載しているなどの理由から人気があり、本連載でも第32~36回で取り扱ったESP-WROOM-02。今回、その後継として今年の春に発売されたESP-WROOM-32の基本的な使い方や、新たに搭載されたBluetooth(BLE)機能などを扱ってみたいと思います。

今回の電子工作レシピ

完成までの時間目安:60分
必要なパーツ

目次

  1. ESP-WROOM-32って何?
  2. ESP-WROOM-32の機能・性能
  3. Arduinoで使うための環境構築セットアップ
  4. プログラムの作成~Lチカ
  5. まとめ

 

1.ESP-WROOM-32って何?

dav

ESP-WROOM-32

 

ESP-WROOM-32は、第32回から紹介したESP-WROOM-02と同様、Espressif Systems社が提供しているESP32というチップを搭載したWi-Fi通信やBluetooth(BLE)通信が可能なWi-Fiモジュールのことです。ESP-WROOM-02よりやや大き目ですが、小さいサイズながらもArduinoのプログラムを書き込める(Arduinoとして利用出来る)、Wi-Fi通信が可能、そして安価というメリットを持っています。

 

2.ESP-WROOM-32の機能・性能

下記の表はこれまでのモデルESP-WROOM-02との比較表になります。

左)ESP-WROOM-32 | 右)ESP-WROOM-02

左)ESP-WROOM-32 | 右)ESP-WROOM-02

 

ESP-WROOM-02(ESP8266) ESP-WROOM-32(ESP32)
サイズ 縦20mm × 横18mm 縦25.5mm × 横18mm
CPU Tensilica LX106 @ 80 / 160 MHz Tensilica Xtensa Dual-Core LX6 @ 160 / 240Mhz
RAM 36KB available to user 520 KB
フラッシュメモリ 1, 2, 4, 8, 16 MB 64MB
Wi-Fi 802.11n up to 65 Mbps,
802.11g up to 54 Mbps
802.11n up to 150 Mbps,
802.11g up to 54 Mbps,
802.11 b/g/n/d/e/i/k/r
Bluetooth Bluetooth v4.2 BR/EDR and BLE specification
ピン数 18pin 38pin
電源 3.0~3.6V / 80 mA 2.2~3.6V / 80 mA
利用可能温度 -40℃~125℃ -40℃~125℃

ざっくりとした違いの特徴としては、

  • ESP-WROOM-02よりやや大きい
  • Bluetoothが使える
  • CPU/RAM/フラッシュメモリなどの性能が上がっている
  • ピン数が増えた
  • 電源電圧の幅が広がった

となります。Bluetoothが使えることや性能が上がったことはもちろんですが、ピン数が増えたり電源電圧の幅が広がるのは実際に制作している際、非常に助かる部分ですね。

 

3.Arduinoで使うための環境構築セットアップ

さっそくArduinoとしてESP-WROOM-32を利用していきたいと思います。ESP-WROOM-02の時もそうですが、このボードもUSBで接続してから、すぐArduino IDEを立ち上げてプログラムを書き込む、というわけにはいきません。最初に利用するための環境を構築する必要があります。

今回は、ESPr Developer 32という、基板にはんだづけなどをしなくてもすぐUSBに挿して利用できる、開発用ボードを使って進めていきたいと思います。

ESPr Developer 32

ESPr Developer 32

 

環境構築の主な流れ(Windows向け)は下記のとおりです。
構築に関する細かな情報はSWITCH SCIENCEさんのサイトで紹介されていますが、ここではそのポイントを押さえて紹介していきたいと思います。

  1. Arduino IDEにESP32のボードを追加する
  2. ドライバをインストールする
  3. ボードをPCに接続する

 

3-1.Arduino IDEにESP32のボードを追加する

はじめに、Arduino IDEの「ツール」-「ボード」にESP32が選択できるようにするため、ボード情報を追加する必要があります。

下記のGithubのサイト上で必要なファイルが公開されていますので、ダウンロードしてください。

GitHub espressif arduino esp32 Arduino core for the ESP32

画面中央の右側に「Clone or download」というボタンがありますのでそこをクリックし、「Download ZIP」を選択します。

GitHub espressif arduino esp32 Arduino core for the ESP32

ダウンロードしたZIPの中身は下記のようになっていると思います。

d3663c3a7488677838c6d6dbc7aaeca8

これらのフォルダやファイルを、Windowsの場合は下記のArduinoをインストールしている場所に保存します。

例) C:\Program Files (x86)\Arduino\hardware\espressif\esp32\

次に、保存したファイルの中から、tools/get.exeを起動してさらに必要なファイルをダウンロードします。

472a83cae319af6afde8ffe54b127562

get.exeをクリックして起動します。すると、コマンドプロンプトの画面が表示されて、必要なファイルがダウンロードされます。

c4496ce7e93f0567061bf54dcea2a9923

 

※ダウンロードされたファイルは同じ場所に通常ダウンロードされますが、別の場所(C:\Users\配下など)にダウンロードされた場合は、esp32\tools配下に移してください。

例) C:\Program Files (x86)\Arduino\hardware\espressif\esp32\tools\

これで、必要なファイルの準備は整いました。

 

3-2.ドライバをインストールする

次に、ボードのドライバをインストールします。ドライバはUSB UARTを利用するためのドライバが必要なので、下記のサイトからダウンロードしてください。

https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads

※過去にESP-WROOM-02などを利用したことがある方は、すでにインストールされている可能性がありますのでこの手順はスキップしてください。

UARTドライバのダウンロード

 

上記のサイトを開くと、ページの下にそれぞれのOSに合わせたドライバが用意されていますので、ダウンロードしてドライバをインストールしてください。

 

3-3.ボードをPCに接続する

ここまで準備ができたら、実際にESP-WROOM-32のボードをPCに接続します。

PCに接続すると赤色LEDが点灯

PCに接続するとPWRの赤色LEDが点灯

 

Arduino IDE側でも「ツール」-「シリアルポート」で接続が認識できれば準備は完了です。

 

4.プログラムの作成~Lチカ

準備ができたらさっそくArduino IDEでプログラムを書き込みしてみます。まずはLチカということで、スケッチの例から「01.Basics」-「Blink」プログラムを開きます。

プログラムを開いたら、「ツール」からボードを「ESP32 Dev Module」に設定してプログラムを書き込みしてください。

ide01

プログラムの書き込みが完了すると、無事Lチカができました!
(今回は13番ピンを指定していますので、ESPr Developer32側も13ピンとGNDにLEDを接続しています)

 

5.まとめ

今回無事ESP-WROOM-32を利用することができましたので、次回はBluetooth通信をしてみたいと思います!

 

 

関連記事

第32回:Arduinoで使える小型Wifiモジュール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編)

アバター画像

電子工作や新しいデバイスをこよなく愛するエンジニア。日常生活のちょっとしたことを電子工作で作って試して、おもしろく過ごしたいと日々考えています。


Arduino互換機(M5Stick-C)とセンサを使った衝突回避機能付きリモコンカーをつくろう!