ESP32は、Espressif Systems(中国・上海)が製造しているチップです。
WiFiとBluetoothを搭載していて、初心者へのハードルも低く、比較的簡単に電子工作が楽しめます。
本ページでは、ESP32を搭載した「ESP32-DevKitC」という開発ボードを使用して、ちょこちょこと電子工作をやっていこうと考えています。
※「ESP32-DevKitC」は秋月電子通商などで比較的安く購入することができます。
とりあえず自分も初心者なので、初心者にもわかりやすく環境構築から動作確認までを行っていきたいと思います。
プログラム開発のための環境構築
プログラム開発を行うための環境構築を行っていきます。
ESP32のプログラム開発を行う場合は、統合開発環境である以下のいずれかを使用する必要があります。
- Arduino IDE
- ESP-IDF Command Prompt
ESP-IDFは、開発元であるEspressif Systemsが提供している開発環境になります。ESP32の機能を最大限に利用する場合は、ESP-IDFを使用するほうが良いようですが、コマンドラインを使用したりと ちょっとだけハードルが高くなっています。
今回は、比較的簡単にプログラム開発を行えるArudino IDEを使用していきたいと思います。
Arduino IDEのインストール
Arduino IDEをArduino公式サイトからダウンロードします。
Arduino公式サイト(https://www.arduino.cc/)

メニューから「SOFTWARE」→「DAWNLOADS」をクリックするとArduino IDEの「Downloads」ページへ移動します。

「Windows app」をクリックすると「Support the Arduino IDE」ページが表示されるので、「JUST DOWNLOAD」をクリックします。
※お金に余裕のある方は、寄付をして頂ければと思います。

Microsoftの「Arduino IDE」ページが表示されますので、「入手」ボタンを押します。

引き続き「Microsoft Store」が表示されます。「インストール」ボタンを押すと「Arduino IDE」のインストールが行われます。

インストール完了です。「起動」ボタン、または、Windowsメニューの「Arduino IDE」を選択すると「Arduino IDE」が起動されます。

Arduino IDE起動画面です。

ESP32を使用するための準備
Arduino IDEでESP32のプログラム開発を行うための準備を行います。
Arduino IDEを起動して、メニューの「ファイル」→「環境設定」を選択します。

環境設定画面の「追加のボードマネージャーのURL」に、以下を入力して「OK」ボタンを押します。
https://dl.espressif.com/dl/package_esp32_index.json

メニューの「ツール」→「ボード」→「ボードマネージャ」を選択します。

ボードマネージャーのテキストボックスに「esp32」と入力します。
esp32のインストールパッケージが表示されるので、「バージョン」を選択して「インストール」ボタンを押します。

次に、メニューの「ツール」→「ボード」→「Esp32 Arduino」→「ESP32 Dev Module」を選択します。

以上で環境構築は終了です。
Arduino IDE の動作確認
インストールしたArduino IDEを使用して、ESP32に正常にプログラムを書き込めるか確認していきます。
内容は、Arduino IDEのシリアルモニタを使用して、ESP32から送信される通信が正しく表示できるかの確認になります。
まず、「ESP32-DevKitC」とパソコンをUSBケーブルで接続します。
次にシリアルポートの設定を行います。
Arduino IDEのメニューから「ツール」→「シリアルポート」→「COM3」を選択します。
「COM」の後の数字は、パソコンに挿したUSBコネクタの位置によって異なるので、読み替えてください。

Arduino IDEでプログラムを書いていきます。
Arduino IDEを起動、または、メニューの「ファイル」→「新規作成」を選択すると「setup」関数と「loop」関数が用意されたファイルができます。

「setup」関数は、ESP32が電源ON時に1回だけ行われる初期化処理になります。
「loop」関数は、「setup」関数終了後から電源OFFになるまで繰り返し行われる処理になります。
次のようにプログラムを書き換えてください。
void setup() {
Serial.begin(115200); // シリアル通信速度設定
Serial.println("Start"); // シリアル通信出力(改行有)
}
void loop() {
Serial.print("Hello "); // シリアル通信出力(改行無)
delay(1000); // 1000msスリープ(1秒)
Serial.println("World!");
delay(1000);
}
プログラムの変更が終わりましたら、メニューの「ファイル」→「名前を付けて保存」を選択して、ファイルの保存を行います。
ファイルの保存が終わりましたら、プログラムの検証を行います。
検証は、Arduino IDEの検証ボタン(✓印)を押すか、メニューの「スケッチ」→「検証・コンパイル」を選択します。

「スケッチをコンパイルしています」から「コンパイルが完了しました」と表示されていれば正常終了です。
エラーになると、オレンジ色でエラー原因を表示してくれます。

この場合は、delay(1000; の右カッコが足りないよと教えてくれています。
カッコを追加して、再度検証ボタンを押すと正常に終了しました。

次に、作成したプログラムをマイコンボードに書き込んで動作させてみます。
書き込みは、Arduino IDEの「マイコンボードに書き込む」ボタン(→)を押すか、メニューの「スケッチ」→「マイコンボードに書き込む」を選択します。

正常に終了すると「ボードへの書き込みが完了しました」と表示されます。

実際に動作しているか確認してみます。
メニューの「ツール」→「シリアルモニタ」を選択します。

シリアルモニタが表示されますので、右下の通信速度を「115200bps」に設定してください。

通信速度の設定がプログラムで指定した通信速度と異なると正常に受信できないので注意して下さい。

「Hello World!」と繰り返し表示されていればOKです。
まとめ
ESP32でプログラム開発するための環境構築から、動作確認まで行いました。
Arduino IDEのインストールと設定を行って、シリアル通信をパソコンと行うまでになります。
比較的簡単にできました。
次は、Lチカに挑戦していきたいと思います。
【参考図書】