Arduino IDEでEPS32をプログラミング

DIYする

スマートホームで使える賢いIoT機器といえば、WiFiやBluetoothなどで無線接続できる製品が一般的です。Arduinoを使えば賢い機器を安価に作れますが、無線接続が不得手です。とはいえLinuxを搭載するRaspberry Piでは役不足な場面が多いです。無線接続できて、ちょっとしたプログラムが簡単にできるお手軽なマイコンボードが欲しいところです。

そこでESP-WROOM-32 (ESP32)というチップに目をつけました。このチップに、USBシリアル変換回路、5V-3.3V変換回路などを追加した開発ボードが、送料込み数百円で入手可能です。スマートホームをDIYするのにうってつけです。

ESP32は、色々な方法でプログラミングができますが、ここではお手軽なArduino IDEを使いました。この記事では、Arduino IDEでLEDを点滅させるLチカプログラムが書けるところまで試します。

Arduino IDEをESP32対応させる

まずは、通常のArduino IDEをESP32対応させます。ArduinoのサイトからダウンロードしたばかりのArduino IDEは、Arduinoにしか対応していません。「ツール」「ボード」メニューを選んでもArduinoシリーズしか出てきません。

このメニューから「ボードマネージャ…」を選ぶと対応ボードを増やすことができます。でも、検索窓にespと入れてもESP32関係のものは現れません。

そこで、こちらのサイトを開きます。ここでは、ESP32をArduinoで開発するためのライブラリを紹介しています。

Installing - - — Arduino ESP32 latest documentation

ここにある、URLが重要です。安定版の配布リンクには、

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

と書かれてます。この文字列をコピーします(横にコピーボタンがあります)。

次に、Arduino IDEのPreferences…メニューを選びます。すると設定ウィンドウが開きますが、その中に「追加のボードマネージャのURL 」という項目があります。ここに先ほどのURLをペーストします。

これでボードマネージャにesp32の選択肢が現れます。インストールボタンを押して、インストールします。

すると、「ツール」「ボード」メニューにESP32 Arduinoという項目が現れます。

たくさん選択肢があって迷うところです。実は、ESP32で始まるメニューのいくつかで開発可能ですが、おそらくはESP32 Dev Moduleが一番適切な選択だと思います。これを選んでおきます。

Lチカプログラムを書く

次に、LEDをチカチカ点滅させるプログラム(Lチカ)を書きます。このESP32開発ボードには、2番ピンに接続した青色LEDが搭載されています。これを点滅させます。以下のプログラムをArduino IDEに書き込みます。setup()で2番ピンを出力に設定し、loop()で2番ピンを1秒ごとにHIGH, LOWに設定しています。

const int LED=2;

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

void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

コンパイルしてダウンロードすると、搭載されているLEDが点滅しました。

ESP32開発ボードはどこで買える

国内ならばスイッチサイエンスで売ってます。送料別2,200円くらいです。今時のType-Cになっていてなかなか良いです。(追記:現在品切れになってました)

AliExpressなら送料込みで600円程度です。海外製品ですが技適マークが刻印されているので安心です。こちらにもType-Cバージョンがあります。

Amazonでも送料税込み800円で売ってました。配送も早くて良さそうです。これもType-Cになってますね。今までAliExpressで購入していたのですが、写真を見る限り同じ部品配置なので、問題なく使えると思います。

まとめ

ESP32開発ボードをArduinoからプログラミングできるように設定しました。これでHomeKitから動作する電子回路をDIYしていきます。ESP32でDIYする詳細は、以下をご覧ください。

Arduino/ESP32

ArduinoとESP32

コメント

タイトルとURLをコピーしました