前回の内容の続きになります。
今回はArduinoではなく、ESP32を使って携帯でWiFi通信を行い、LEDの遠隔操作を行います。以前の記事で携帯でBlynkをインストールし、設定方法まで説明をしました。今回は、ESP32を使った回路と、PCと回路の設定方法およびプログラム内容を紹介します。ESP32を使う際に自分が困ったことは、WiFiの接続がうまくいかず、手間がかかりました。今回は細かい接続方法を紹介し、最終的には携帯でLEDを点滅させるプログラムまでを実行します。
ESP32を使った回路作成
Arduinoと基本的に回路構成は同じです。ブレッドボードとLED、ジャンパー線を準備してください。非常に簡単な回路となっています。写真のように5番端子から信号を送り、LEDのアノードと接続してください。カソードとはESP32のGNDを接続してください。
①ESP32のNo5とLEDのアノード(+極)を接続
②LEDのカソード(-極)とESP32のGNDを接続
ESP32とWiFi接続およびプログラム作成
ESP32とWi-Fiの接続を行ってみましょう。Wi-Fiに接続する際に私も勝手がわからず、苦労しましたが、下記対応でつながると思います。
BlynkからTokenの確認
携帯でBlynkを起動し、Tokenを確認しましょう。
Arduino IDEの起動
PCにてArduino IDEを開いてください。下記画面がでます。
Blynk のライブラリをインクルード
Blynkのライブラリをインクルードを選択し、ライブラリを管理を選択してください。
ライブラリマネージャが開かれますので、Blynkをインストールしてください。(わたしのはすでにインストールされているため、INSTALLEDになっています)
Blynkのスケッチ例を開く(プログラム作成)
Arduino ではスケッチ例が多数保存されますので、Blynkのスケッチ例を使用しましょう。これらスケッチ例を使用することで、一部修正するだけで自分好みの電子工作をすることができます。
ファイルのスケッチ例→Blynk→Boards_WiFi→ESP32_WiFiを開いてください。
こんな画面が開かれます。見にくいのでコメントについては、削除します。
↓削除が終わりましたら、”Your AuthToken”にBlynkで確認したTokenを入力します。また、”YourNetworkName”、”YourPassword”には使用しているWiFiのssid、Passwordを入力しましょう。
以上でBlynkを起動するためのプログラム作成は完了です。参考にプログラムコードを記載します。
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YOUR TOKEN";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YOUR NETWORK SSID";
char pass[] = "YOUR NETWORK PASS";
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
}
Arduino IDEの設定確認(プログラムを動かす前に)
最初にプログラムを実行する前に、ボードをESP32 Dev Moduleを選択します。また、ESP32とPCをUSBケーブルで接続し、シリアルポートも使用しているものとなっているかを確認しましょう。
問題なければ、コンパイル(検証)しましょう。エラーがなければ、ESPボードに書き込みを行います。
書き込みが終わりましたら、シリアルモニタを見てみましょう。シリアルモニタはツールのシリアルモニタから開くことができます。
接続がうまくいっていると、下の図がでます。
もしうまくいっていない場合、下記対応をしてください。
①ESP32のリセットボタンを押す
リセットボタンを押すと、シリアルポートが更新されます。更新された際に、上記OK画面が出れば、接続成功です。
②シリアルモニタの表示速度を変更する。
シリアルモニタの数値が異なっている場合、下図のような文字化けや、BlynkというOKの時の文字が出ない時があります。この時には、プログラム上のSerial.begin(9600)の数値と、シリアルモニタの数値が異なっていることがありますので、確認し数値を合わせてください。
上記対応で、OK画面が出ると思いますので、試してみてください。
OK画面が出ましたら、やっと携帯からBlynkを操作することができるようになります。携帯でWiFiを接続し、Blynkを起動し、Testの画面を開いてください。Testでは、ボタン(GP5)により信号5のON-OFFをり替えることができます。
再生ボタンを押します。(WiFiが接続されていない場合、Offlineと表示されます)
BlynkでLED点灯プログラムを実行
WiFiがうまく接続されている場合、ボタンを押すと、ESP32の5番ピンと接続された、LEDが点灯します。(ボタンについては、押している間つく状態になっていますが、押すとONが続く状態にもボタンの設定で変更可能です。
これで、携帯のBlynkを使って、LEDを点灯することができるようになりました。
やっと携帯で操作可能な電子工作ができるようになりました。これで、DCモータを動かすことで、ラジコン操作ができるようになってきますので、これから、さらに更新していきたいと思います。