ESP32入門 通信機能が標準搭載されたマイコン・ボード (1) 準備
最近、ESP32-WROOM-32シリーズのマイコンが登場し、いつのまにか、だれとでもつながって即座に話ができる環境ができていました。電子工作の分野でもIoTの実現の原動力になるものと思われます。
<ESP32-DevKitC ESP-WROOM-32開発ボード>
写真のボードの中で、四角い大きな金属のカバーに覆われたモジュールがESP32-WROOM-32です。上記の開発ボードは、ESP-WROOM-32を動かすためのプログラムを開発するために、五つの機能が盛り込まれています。
① PCと接続するためのシリアル-USB変換モジュール(※1) ② 電源を得るための3端子レギュレータIC(※2) ③ EPS32-WROOM-32のマイコン・モジュール ④ 書き込み時のオート・リセット回路 ⑤ 2.5mmピッチのピンヘッダ(ESP32-WROOM-32の入出力ピンをブレッドボードなどで利用できる2.5mmピッチに変換) |
●このボードを利用するとできること
この開発ボードを利用すると次に示すように、LEDの点滅(Lチカ)、I2Cインターフェースのディジタル・センサで、温度、湿度、気圧などいろいろなものが測定できます。
通信機能を標準で搭載しているので、測定結果は離れた場所のPCからも読み取ることができます。
PCからはデータを読み取る以外にも、マイコンに接続されているLED、モータ、スイッチなどのON/OFFも行えます。Arduino UNOなどより、容易に通信が絡む処理が安価に実現できます。
●ESP32-WROOM-32モジュールを利用するために
ESP32-WROOM-32Dモジュール自体は640円(秋月電子通商)で購入できるのですが、次の写真のように端子がないので、そのままブレッドボードなどにテスト回路を構成するには少々厄介です。今回は、初めてマイコンを利用する方でもあまり戸惑わずにいろいろなことを体験しながらESP32-WROOM-32Dマイコンの使い方をマスタすることを第一の目標にしています。
価格は少し上がりますが、最初に示した開発ボードを利用します。
●そのために必要なこと
開発ボードを動かすために、最初に次に示すものを準備します。
① 開発ボード ② テスト回路を組むためのブレッドボード ③ 開発ボードにプログラムを書き込んだり、マイコンを動かすためのプログラムを作るためのソフトウェア、開発システムとも呼ぶ。無償でも利用できるArduino IDEと呼ばれる開発システムをダウンロードして利用する ④ ニッパー、ラジオ・ペンチなどの工具が必要。最初は、マイコン・ボードのディジタル出力で点滅させるLED、LEDへ流れる電流を制限するための抵抗、配線のための線材などの電子部品、配線材料を用意する |
最初に数回で上記の①から④をそろえ、実際にLEDを点滅させてみます。
① 開発ボード名はESP32-DevKitC
ブレッドボードに挿し込んで各種の追加のテスト回路を作ることができ、シリアル-USB変換回路と電源を内蔵したESP32-WROOM-32D開発ボードの「ESP32-DevKitC」を今回のシリーズでは利用します。ESP32-DevKitCは、秋月電子通商で1480円(2018/11現在)で購入しました。
秋月電子通商のカタログでは2018/11現在ESP-WROOM-32Dと表記されています。しかし、Version1.7のデータシート(2018/10)ではESP32-WROOM-32Dと表記されています。原則データシートの表記に合わせて、名称はESP32-WROOM-32Dを使用する予定です。
② ブレッドボードを使ってはんだ付けなし
使いやすい大きさのEIC-801は、5列のブレッドボードです。ESP32-DevKitCをセットすると、配線を引き出すためにリードを挿し込む穴が両サイドに顔を出さず、一方のサイドはモジュールの基板の下になり、このままでは使い勝手がよくありません。
6列のブレッドボードのEIC3901もあり、両側に一列、二列のリードを引き出す穴が顔を出しますが、回路を組むエリアは取れません。
もう1枚ブレッドボードを用意し、連結して次のようにセットするほうが便利です。
●連結して使う場合
ブレッドボード EIC-801を2枚購入し、折り曲げると外れる一方の電源のブロックを外して、二つを接続すると、次に示すような使いやすいブレッドボードができあがります。
何もしないでEIC801のブレッドボードを連結すると、連結部に二組の電源ブロックが存在し、電源部分をまたいでESP32-DevKitCをセットできません。また余分に電源ブロックを用意する必要もないので、電源ブロックを一つ外しました。
ESP32-DevKitCの両側に回路を追加する余裕も生まれ、テストには重宝するものと想定しています。
●ESP-WROOM-32D開発ボードには新旧の製品がある
開発用のマイコン・ボードESP32-DevKitC-32Dは、秋月電子通商で1480円(2018/11現在)で入手しました。購入するのは、秋月電子通商のWebのカタログにある、
ESP-WROOM-32D開発ボード
[ESP32-DevKitC-32D]
通販コード M-13628
発売日 2018/08/25
です。
2018/11現在カタログには同様な製品で似たような名前の製品が、いくつかあります。次に示すのは同じような名称ですが、ESP32-DevKitCの初期のもので、秋月電子通商の発売が2017/3/15です。
ESP32-DevKitC ESP-WROOM-32開発ボード
[ESP32-DevKitC]
通販コード M-11819
発売日 2017/03/15
2018/08/25発売でESP-WROOM-32D開発ボードの名称のものを購入します。
●Arduino IDEのインストール
今回は、ESP32-WROOM-32Dの開発にArduino IDEを利用することにしました。
Arduino IDEは電子工作の初心者に広く受け入れられているマイコン・ボードArduinoを動かすためのプログラム(スケッチ)を作成し、エラー・チェックし、マイコン・ボードに作成したプログラムを書き込む機能をもっています。初心者にもわかりやすい工夫がされ、Arduinoの普及の原動力の一つになっています。
●Arduino IDEの入手
Arduino IDEは、ArduinoのWebページからダウンロードできます。まず、次のアドレスにアクセスします。PCにはアドミニストレータ(管理者)でログインしてインストールします。
このアドレスにアクセスすると、次のページが表示されます(2018/11現在)。上部にあるSOFTWAREをクリックすると、ONLINE TOOLS、DOWNLOADSのリストが表示されます。
DOWNLOADSを選択すると、次に示すように、Web Editorを使うためのページの入り口とArduino IDEのダウンロードのページに移動します。
筆者はWindows10を利用しています。Arduino IDEは、次の三種類のIDE(統合開発環境)インストーラが用意されています。
Windows Installer
Windowsのインストーラによりインストールするバージョンで、今回はこれを利用します。
Windows ZIP file for non admin install
ZIPファイルのモジュールをダウンロードして、ZIPファイルを展開して作成されるフォルダにArduino IDEのシステムが格納され、その中のarduino.exeを起動してArduino IDEを開始します。このモジュールを利用すると、複数のバージョンのArduino IDEを同一のPCの中で利用できます。
Windows app Requires Win 8.1 or 10
最近、新しく登場したもので、アプリとしてインストールします。詳しくはもう少し調べて、別の機会に報告します。
Windows Installerを選択すると、次に示すように寄付を募る案内が表示されます。Arduino IDEはその維持と発展のために寄付に値するものと考えています。寄付する場合は「Contribute & Download」をクリックします。寄付なしダウンロードする場合は「JUST DOWNLOAD」をクリックします。
ここでは、WebブラウザはChromeを利用しているので、ダウンロードの様子がブラウザの下部に表示されます。進行状況が残り時間で表示されます。
完了すると、arduino-1.8.7-windows.exeがダウンロード・フォルダに格納されます。上記の状態でWebブラウザの左下にあるarduino-1.8.7-windows.exeの表記をクリックすると、インストーラが起動します。ダウンロード・フォルダのarduino-1.8.7-windows.exeをダブルクリックしても、インストーラを起動できます。
インストーラが起動すると、セキュリティ・チェックのメッセージでシステム変更を加えてよいか聞いてきます。
●ライセンス条項に同意を求める
Arduino IDEの使用条件のライセンス条項の同意を求めています。同意するものとして「I Agree」をクリックします。
●インストールのオプションの選択
インストール後、USBドライバのインストール、ショートカット配置場所などの指定を行います。今回はデフォルト設定で次に進みました。
プログラムの格納場所の確認の表示があります。デフォルトの設定のまま次に進みます。
インストールが開始され、詳細のボタンをクリックすると、次に示すようにインストールされているファイルが表示されます。
完了すると、「Close」のボタンがクリックできるようになります。
Closeのボタンをクリックすると、インスールが完了します。
本シリーズではAdafruitのボードを使用しないので、特にインストールする必要はないと考えています。
Arduino srl は以前分裂騒動を起こしたイタリアの会社で、Arduinoのハードウェアの製造を分担していました。本シリーズは当面はインストールする必要はないと考えています。
●Arduino IDEを起動する
Arduino IDEをインストールすると、Arduino IDEを起動するためのアイコンがスタートメニュー、デスクトップ、タスクバーにセットされています。次に示すように、スタートメニューの先頭には「最近追加されたもの」としてArduino IDEの起動用のアイコンが用意されています。
●Arduino IDEの初期画面
Arduino IDEが起動すると、次に示す初期画面が表示されます。初期画面には、これから作成するプログラムの骨格が用意され表示されています。
ArduinoのWebページからダウンロードしてインストールしたArduino IDEでは、まだESP32-WROOM-32Dには対応していません。
次回、ESP32-WROOM-32DをArduino IDEで利用するためのファイルをダウンロードして、Arduino IDEのボードマネージャを利用してArduino IDEに組み込み、ESP32-WROOM-32Dのプログラムの開発ができるようにします。
●Lチカを行うために用意するパーツ
次回、Arduino IDEの利用が用意できた後、ブレッドボードにLEDと電流制限抵抗をセットして開発ボードのESP32-WROOM-32Dで接続されたLEDを点滅してみます。
① ESP-WROOM-32D開発ボード(秋月電子通商) ② ブレッドボードEIC801 2枚 ③ マイクロBのUSBケーブル(PCと開発ボードを接続する) ④ LED リード線が付いたもので赤色がわかりやすい ⑤ リード線付きのカーボン抵抗 330Ωから100Ωくらいの抵抗 |
③ から⑤は次の写真に示しておきます。
<神崎康宏>
コラム 用語
(※1)シリアル-USB変換モジュール;マイコンの多くは、PCとUSBケーブルで直接つなげられる製品はあまりありません。プログラムの開発はPCを利用するので、作成したプログラムをマイコンのメモリに書き込むために、PCのUSBとマイコンのシリアル・インターフェース(UART)を変換する回路を間にはさんでデータのやり取りします。このモジュールの部分に使われるデバイスは、FTDI、CP210x、CH34xがポピュラです。(※2)3端子レギュレータIC;マイコン・ボードは、USBインターフェースのVbus端子から約5Vが供給されます。ESP32-WROOM-32Dの動作電圧が2.2~3.6Vのために、3.3V出力のシリーズ・レギュレータICで電圧を降下させます。このICのリード線が、「入力、GND(グラウンド)、出力」の3本なので、3端子レギュレータIC呼ばれます。
(※)ESP32-WROOM-32;Espressif Systems社の日本国内で電波を出せる技術基準適合証明等のマークのついた初期のモデルです。CPUは2コア・モデルです。そのあと、1コア・モデルが出たため、デュアルはD、シングルはSが付けられています。ESP32-WROOM-32Sは数量が出ていないのか、Dモデルより高価です。Dモデルが出たころ、CPUのバグがいくつか修正されたようです。