💡

ESP32でLチカする

2022/03/13に公開

概要

子供とプラレールで遊んでいたら、プラレールにカメラつけたりモータ制御やったら楽しそうだなとふと思いついたので、ArduinoIDEでかけるWi-Fi/Bluetooth搭載のESP32を購入してみました!
(技適対応のやつ)
まずは、何はともあれLチカを試してみたいと思います。

ESP32とは?

ESP32シリーズとは、中国のEspressif Systems社が販売するワンチップWi-Fi/Bluetoothモジュールの製品群

ESP32-WROOM-32開発ボード/ESP32-DevKitC との違いは?

はじめからESP32シリーズのモジュールを搭載したマイコンボード(開発ボード)

今回使用するESP32のスペック

Espressif社純正の ESP-32-DevKitC-32D を購入しました。

いざセットアップ

こちらの記事を参考に進めて行きます。

Arduino IDEダウンロード

こちらからダウンロード
今回は arduino-1.8.19-macosx を使用していきます。

ESP32をArduino IDEで使う為に、ボードマネージャでライブラリをインストールします。
追加のボードマネージャのURL に以下URLを追加
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

ツール > ボードマネージャを開き、ESP32で検索してライブラリをインストールします。
バージョンは 2.0.2 でした。

ツール > ボードの設定で ESP32 Wrover Module を選択します。

ESP32と接続

実際にESP32とPCをマイクロUSBで接続、ツール > シリアルポートで接続したUSBのシリアルポートを選択します。
シリアルポートの確認は ls -l /dev/tty.* で可能です。
試しに何もしないプログラムを書き込んでみます。

void setup() {
  // put your setup code here, to run once:

}
void loop() {
  // put your main code here, to run repeatedly:

}

↑正常に書き込めればOKです。

いよいよLチカ

今回は5pin、 抵抗220Ω、LEDアソード側、LEDカソード側とGNDにつないで試してみました。

int led = 5;

void setup() {
  // put your setup code here, to run once:
  pinMode(led, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(led, HIGH);
  delay(500);
  digitalWrite(led, LOW);
  delay(500);
}

↓実行結果

Webサーバー経由でLチカ

サンプルコードをメニューの スケッチ例 > WiFi > SimpleWiFiServer から開きます。
次に使用しているWiFiのssidとpasswordを以下の箇所に設定します。

const char* ssid     = "yourssid";
const char* password = "yourpasswd";

実行してシリアルモニタを確認すると、接続できるIPが表示される

IP先にWebブラウザから接続すると、ON/OFFのリンクが表示されておりLチカができました。

バッドノウハウ

参考URL

Discussion