2019年8月21日水曜日

Arduino IDEでESP32の動作テスト

1.やっぱりArduino IDEが簡単!

前回の記事では、MicroPython使うぞ的な事言ってましたが、とりあえず動作確認のLチカはArduino IDEでやってみました。


で、無事成功。

基本的な動きを確認するために、
  1. 入出力の両方を確認するためにタイマーじゃなくてスイッチで点滅させた
  2. ついでに内部PULLUP抵抗があることも確認
  3. 外部電源の動作確認のため、電池ボックスから給電
てな感じです。

2.ESP32 DEVKIT V1 の PINOUT


ESP32 DEVKIT V1のピンアウトは上図の通りです。
光らせるLEDは開発ボード上に実装されてる青色のLED(LED0)です。出力がD2と共有されているので、D2にHIGHを出力すると点灯します。
使用したパーツは次の通りシンプル構成です。
  1. ESP32 DEVKIT V1
  2. 適当なプッシュボタン
  3. 適当なブレッドボード
  4. 単4電池×4本 電池ボックス
  5. 単4eneloop×4本
配線は、電池ボックスの+をVINへ、-をGNDへ。プッシュボタンの片方をGNDへ、もう片方をD12へ接続するだけです。

eneloop×4本は、実測で4.8Vです。こちらのサイトによるとInput Voltageは7~12Vとなっていますが、4.8Vでも元気に動きました後日Bluetooth接続による制御を試したところ、4.8VではLチカはできたもののBluetooth接続ができませんでした。eneloop×6本、実測8Vにすると問題なく動作しました。3本電池ボックスの実測3.6Vだと電圧不足で不安定な感じでした。

ちなみに、3V3ピンに3本電池ボックスの実測3.6V直結でも正常に動作しましたが保護回路が無いはずなので破損の恐れありです。未確認の情報によると駆動電圧は2.3~3.6Vだそうですが、2本電池ボックスの実測2.4Vだと動作が非常に不安定でした。

3.Arduinoの基本コマンドは使えた

今回のLチカ用スケッチも非常にシンプル。
以下の通りです。

//ESP32 Lチカスケッチ

int outpin = 2;  //DEVKIT上のLEDとD2ピンのOUTPUTが共有されている
int inpin = 12;  //インプットスイッチ用ピン

void setup() {
  pinMode(outpin, OUTPUT);
  pinMode(inpin, INPUT_PULLUP);  //ESP32でもPULLUP抵抗内蔵されてました
  Serial.begin(115200);
}

void loop() {
  int SW = digitalRead(inpin);

  if (SW == LOW){
    digitalWrite(outpin,HIGH);
    Serial.println("on");
  }

  else {
    digitalWrite(outpin,LOW);
    Serial.println("off");
  }
}

4.まとめ

今回は非常に簡単な回路とスケッチでESP32の動作確認ができて満足です。次は通信のテストを行いますがもうしばらくArduino IDEでいきます。
WiFiも必要ですが、スマホからのロボット制御も想定してるのでBluetoothのテストかな。できればAndroidのアプリ制作にもトライしたいところです。

0 件のコメント:

コメントを投稿

ESP32でスマホとシリアル通信 その2 BluetoothでLチカ

1.BluetoothでLチカ制御 前回、Bluetoothでの双方向通信に成功しましたので、ついでに少しスケッチを修正してスマホからESP32のLチカを制御した様子が以下の動画です。 撮影が悪くて画面が良く見えませんが、"1"を送信...