ESP32でLチカするまでの設定

 

ESP32
ESP32

この記事では、Arduino IDEでESP32の開発ができるようにするまでの手順を解説します。とくに、はじめてESP32を使う方のために、Lチカ(LED点滅)するまでの内容となります。

ESP32は、Wi-FiとBluetoothを備えた低コストで低消費電力なArduino互換機です。Arduino開発とほぼ変わらないプログラミングで開発が可能で、とても人気のあるデバイスです。

次のような方は、ぜひこの記事をご参考になさってみてください。

  • Arduino IDEは使ったことあるけど、ESP32を使うのは初めて
  • Macを使ってるけど、プログラムをESP32へアップロードできない

はじめに

項目バージョン
Arduino互換機ESP32 DevKitV1
Arduino IDE1.8.15
パソコンmacOS Big Sur 11.2.3

ちなみにESP32は、Amazonで「VKLSVAN ESP32 デュアルコア開発ボード」を購入しました。商品ページには「ESP-32S NodeMCU」と書かれていますが、実際届いたのはESP32 DevKit V1でした(2021年1月2日購入)。

自動書き込みはできましたし、動作はとくに問題なかったです。

また、サイズが記載されているものとちがっており、実際は約28mmx52mmでした。(^_^;)とはいえ、ほとんどのESP32はこのサイズかと思います。

ESP32の場合、通常のブレッドボードだと片側が覆われてしまうほど大きいです。よって、片側しかGPIOを使えない状態になってしまいます。

ESP32とブレッドボード
ESP32とブレッドボード

そこで、ブレッドボードを2つ使ったアイデアを思いつきました!写真のようにブレッドボードを2つ使えば、どんなに大きなボードでも大丈夫ですね。左右のスペースも広く取れるので、電子部品を悠々と置くことができます。

▼ または、サンハヤトのSAD-101ですと、横幅が広いためESP32を刺しても左右に空きが余るようです。参考になさってみてください。

▼ Arduinoのようにブレッドボードに装着しなくて済むタイプのものもあります。

Arduino IDEの設定

ESP32のボードURLを追加

▼下記サイトから、最新のESP32のボードURLをコピーします。

以前は、Macで安定版が使えませんでしたが現在は動作するようです。

▼現時点(2021/7/10)では、こちらが安定板のURLで動作しました。

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

安定版のボードだと次のようなエラーが出てしまい、プログラムを書き込むことができなかった。Error compiling for board ESP32 Dev Module.

次に、Arduino IDEでPreferencesAdditional Boards Manager URLsを開き、先ほどコピーしたボードURLを追記します。

ボードURLの追記
ボードURLの追記

ESP32のBoardをインストール

ESP32のBoardをインストールを行います。

Arduino IDEで、ToolsBoardBoards Managerへと進みます。

Boards Managerの選択
Boards Managerの選択

そこで「esp32」で検索してESP32のボードをインストールします。

esp32のボードをインストール
esp32のボードをインストール

BoardとPortの選択

次に、BoardとPortの選択を行います。

ToolsBoardの一覧からESP32 Dev Moduleを選択します。正確にはお使いのESP32のボードに合わせてください。と言ってもESP32 Dev Moduleを選択しておけば、たいていは動いてしまいます。

その他の設定はデフォルトのままで大丈夫です。

ESP32 Dev Moduleを選択
ESP32 Dev Moduleを選択

ESP32とMacをUSBケーブルで繋いだら、TooksPortでESP32が繋がれているシリアルポートを選択しましょう。シリアルポートの名前はわかりにくいので、USB機器を抜き差ししながら検討をつけていきます。

ESP32でLチカさせてみよう

ESP32でLEDを点滅させる
ESP32でLEDを点滅させる

それでは最後に、ESP32でLチカを行ってみます。

GPIO13番にLEDのアノードを繋ぎ、1kΩの抵抗を介してGNDへ接続しました。下のプログラムをスケッチに書いてアップロードすればLEDが点滅すると思います。

#define LED_PIN = 13

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}

ちなみに、ESP32には内蔵LEDが存在します。内蔵LEDもプログラムからコントロール可能です。その場合は、LED_PINの代わりに#define LED_BUILTIN 2 を定義して書き換えてみてください。

LEDの色と順方向電圧

ところで、LEDは、色の種類によって順方向電圧(VF)が異なります。一般的に、赤、橙、黄、緑では1.8~2.2V程度、白、、青のLEDは3.2V前後になります。

Arduinoのデジタルピンは電圧が5Vですが、ESP32では3.3Vとなりますので注意しましょう。

記事に関するご質問などがあればTwitterへお返事ください。
この記事で紹介した商品
ESP32搭載ボード
ESP32の書籍
Arduinoで人気の周辺パーツ
関連記事