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

ESP32
ESP32

この記事では、Arduino IDEでESP32の開発ができるようにするまでの手順を詳しく解説します。Arduino IDEのインストール方法と、はじめてESP32を使う方のために簡単なサンプルプログラムとして、Lチカ(LED点滅)をやってみます。

はじめに

私の開発環境はこちらになります。Windowsでもほとんど同じ内容でできますので、適宜読み替えてください。

項目バージョン
ESP32ボードESPRESSIF ESP32-WROOM-32D(ESP32 DevkitC V4)
Arduino IDEVersion 2.1.2-nightly-20230815
パソコンmacOS Ventura 13.5

ESP32とは、上海に拠点を置くEspressif Systems社が開発したSoC(チップ)になります。下の写真の銀色の四角部分とWiFiアンテナ部分が本来のESP32になります。それ以外の部分は各社で自由に作られてます。

ESP32 SoC
ESP32 SoC

またESP32はWi-FiとBluetoothの無線通信を標準で備えてます。クロックス周波数も240MHzと高速で、ハイスペックながら低価格で購入できるマイコンボードです。ちなみにArduino Uno R3のクロック周波数が16MHz、Raspberry Pi Pico W が133MHzです。

ESP32はESP-IDFというツールで開発することができますが、Arduino IDEを使ってArduino言語でも開発が可能となってます。Arduinoをやったことある人でしたら、ESP32の開発もすんなりできるはずです。ここら辺がESP32が人気な理由でもあるでしょう。

さて、Amazonなどで検索しますとESP32のボードは種類が豊富でどれを選べば良いか分からないという方も多いと思います。結論から言いますと、技適が通っていて38ピンある「ESP32 DevkitC」をおすすめします。下記の製品どちらも技適が通っていてESP32 DevkitCとして開発できるのでトラブルが少ないと思います。実際私の仕事でも多用しているボードです。

Arduino IDE のインストール

それでは実際にESP32の開発を進めていきましょう。Arduino IDEをお持ちでない場合は、下記ページからダウンロードします。184.3MBのdmgファイルでした。 Software | Arduino

上記のページから macOS(Version 10.14: “Mojave” or newer, 64 bits) をダウンロードしました。Arduino IDEはWindowsやLinuxでも動かすことができます。ダウンロードする際に寄付画面が出てきますが、無料でダウンロードする場合には「JUST DOWNLOAD」を選択すれば大丈夫です。

「JUST DOWNLOAD」を選択
「JUST DOWNLOAD」を選択

Arduino IDEの設定

はじめにArduino IDEでESP32を開発するために、いくつかの設定が必要になります。難しそうに思うかもしれませんが、手順通り進めれば大丈夫ですので頑張りましょう。

ESP32のボードURLを追加

こちらのサイト から、最新のESP32のボードURLを調べます。

Stable release link:
https://espressif.github.io/arduino-esp32/package_esp32_index.json

※ 2023年8月16日現在

次に、Arduino IDEのメニューからSettings...Additional Boards Manager URLsへ先ほどのボードURLを追記し「OK」を押します。

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

ESP32のBoardをインストール

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

Arduino IDEのメニューから、ToolsBoardBoards Managerへと進みます。

Boards Managerの選択
Boards Managerの選択

表示された左メニューの検索ボックスで「esp32」を入力し、「esp32 by Espressif」をインストールします。

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

これでArduino IDEでESP32の開発ができるようになりました!

ESP32とLEDの配線

ここからはESP32を使ってLEDを実際に点灯させていく手順を解説いたします。

まず、ESP32とLEDを下図のように配線します。GPIO13番に赤色LEDのアノード(足の長い方)を繋ぎ、1kΩの抵抗を介してGNDへ接続しました。

ESP32とLEDの配線
ESP32とLEDの配線

ESP32がブレッドボードに収まらない...

ブレッドボードを使って配線すると思いますが、ESP32の場合は通常のブレッドボードだと片側が覆われてしまうほど大きいです。ですから片側しかGPIOを使えない状態になってしまいます。そんな時は、ブレッドボードを2つ使うという方法もあります。左右のスペースも広く取れるので、電子部品を悠々と置くことができます。

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

▼ またはサンハヤトのSAD-101を使うという手もあります。私はESP32の実験では、こちらのブレッドボードを使ってます。横幅が広いためESP32をブレッドボードへ刺しても左右に空きがあります。

実際にSAD-101を使ってESP32とLEDを配線した様子が下の写真です。左下のコンデンサーは書き込みエラーをなくす為のもので、詳しくは こちらの記事 をご覧ください。

SAD-101を使ってESP32とLEDを配線
SAD-101を使ってESP32とLEDを配線

LEDの色と順方向電圧

LEDは色の種類によって順方向電圧(VF)が異なります。つまりLEDに繋げる抵抗値を場合によっては変える必要が出てきます。一般的に、赤、橙、黄、緑ではVFは1.8~2.2V程度なのでESP32でも問題ないです。しかし白、青のLEDではVFが3.2V前後になります。Arduinoのデジタルピンは電圧が5Vですが、ESP32では3.3Vですので抵抗値を上手に設定しないと光らないかもしれないので注意してください。

ESP32でLチカさせてみよう

それでは最後となりますが、プログラミングを作ってESP32でLEDを点滅させてみましょう。

スケッチの新規作成

Arduino IDEのメニューから FileNew Sketch を選択してください。command + s を押して、 esp32_blink_led としてスケッチを保存しておきます。

スケッチを保存する
スケッチを保存する

Lチカ(LEDを点滅)させるソースコード

次は、ESP32でLチカ(LEDを点滅)させるソースコードです。スケッチへコピペしてください。

cpp
#define LED_PIN 13

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

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

スケッチの内容を少し解説します。LED_PIN にはESP32でLEDを繋げたGPIO番号を指定します。setup() 内の pinModeOUTPUT を設定して、0Vまたは3.3Vの電圧をオンオフできるようにします。setup() はESP32起動時に一度だけ呼び出される関数で、初期設定などを記述します。 loop() 内で digitalWrite 関数を使って13番ピンを交互に HIGH または LOW へと変更します。このことによって、13番ピンの電圧が0Vまたは3.3Vになりますから、LEDが点滅するというわけです。loop() 関数は高速で何度も繰り返し呼び出されますから、そのままだとLEDの点滅が速すぎて常時点灯しているように見えてしまいます(蛍光灯と同じ原理ですね)。そこで delay(500) で時間を待たせてあげます。500 はミリ秒です。1000ミリ秒が1秒ですから、つまり1秒間に1回の周期で点滅を繰り返すプログラムになります。

BoardとPortの選択

スケッチの準備ができましたら、ESP32とパソコンをUSBケーブルで繋いでください。

Arduino IDEのメニューから ToolsBoardの一覧からESP32 Dev Moduleを選択します。

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

冒頭で紹介した以外のESP32ボードをお使いの場合は、各自で調べて適宜変更してください。とはいえ、 ESP32 Dev Module を選択しておけば大体は動いてしまいます。

次に、Arduino IDEのメニューから ToolsPort へ進み、ESP32のシリアルポートを選択します。シリアルポートの名前はわかりにくいので、USB機器を抜き差ししながら検討をつけると良いです。

ポートの選択
ポートの選択

スケッチのアップロード

それでは制作したスケッチをESP32へ書き込み(アップロード)ましょう。下図のように矢印ボタンを押すことでスケッチがコンパイルされ、ESP32へプログラムがアップロードされます。

スケッチのアップロード
スケッチのアップロード

下の動画のようにLEDが点滅すれば大成功です!お疲れ様でした!

ESP32でLチカしている動画
ESP32でLチカしている動画

スケッチがアップロードできない!?

Arduino IDEでESP32の詳細設定は下図をご参考ください。各項目はデフォルトのままで何も変えてません。

ESP32の詳細設定
ESP32の詳細設定

実は私の使っているM2コアのMacBook Airですと、ESP32ヘのスケッチの書き込みエラーが発生しました。下記の記事にあります通り、ESP32のENピンにコンデンサを付けることで書き込みエラーが解消されますのでご参考ください。

▼ コンデンサを追加して書き込みエラーをなくしたESP32を販売中です!

関連記事

 
最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

人気のArduino互換機
Arduinoで人気の周辺パーツ
あると便利な道具
Arduinoのオススメ参考書

▼ Arduino初心者向きの内容です。ほかのArduino書籍と比べて図や説明がとてもていねいで読みやすいです。Arduinoで一通りのセンサーが扱えるようになります。

▼ 外国人が書いた本を翻訳したものです。この手の書籍は、目からうろこな発見をすることが多いです。

▼ Arduinoの入門書を既に読んでいる方で、次のステップを目指したい人向きの本です。C言語のプログラミングの内容が中心です。ESP32だけでなく、ふつうのArduinoにも役立つ内容でした。

Seeed Studio関連製品
ATmega32U4搭載ボード
関連記事