- 2017-3-20
- ESP-WROOM-02
- 4 comments
ESP-WROOM-02開発ボードを単三電池3本で長期に運用するのが目的。
今回は温度センサーDS18B20を使用し、ESP-WROOM-02開発ボードの低消費電力モード「Deep-Sleep」モードを試してみた。
スマホでの温度表示はBlynkです。
配線図
IO16ピンをRST端子に接続しておくことがDeep-Sleepモードからの復帰のためには必要です。
Aruduino IDEでスケッチ書き込み時に16ピンとRSTが接続されているとエラーになるので、ジャンパーピン等を利用して書き込み時に外せる様にすると良いでしょう。
乾電池はVINに接続します。
44行目で設定した時間でDeep-Sleepモードから復帰します。
ESP.deepSleep(300 * 1000 * 1000 RF_DEFAULT);
↑赤字部分 今回は300秒で設定しました。
#include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <OneWire.h> #include <DallasTemperature.h> #include <TimeLib.h> #include <SimpleTimer.h> #define ONE_WIRE_BUS 14 //温度センサーをESP-WROOM-02の14番ピンに接続 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); char auth[] = "fromBlynkApp"; //Blynkで生成されるAuth Token SimpleTimer timer; void setup() { Serial.begin(9600); Blynk.begin(auth, "SSID", "Password"); //無線ルーターのSSIDとパスワード sensors.begin(); timer.setInterval(10000L, sendTemps); // Temperature sensor polling interval (10000L = 10 seconds) } void sendTemps() { sensors.requestTemperatures(); // Polls the sensors float tempBabyRoom = sensors.getTempCByIndex(0); // 温度センサーから摂氏気温を取得 Blynk.virtualWrite(4, tempBabyRoom); //BlynkアプリでV4ピンを指定する ESP.deepSleep(300 * 1000 * 1000, RF_DEFAULT); //復帰までのタイマー時間設定 delay(1000); } void loop() { Blynk.run(); timer.run(); }
2017/3/18から運用始めたばかりで、まだどれだけ連続して使えるかは分かりません。
いつまで動き続けるか楽しみではあります。
コメント
この記事へのトラックバックはありません。
掲載からそれほど時間は経っていないようですが
バッテリーの持ちが気になりますがどのくらい持ちそうですか?
ESP-WROOM-02の消費電流について解説したページを見ると、そのページが投稿された時点で50日間動いているという事でしたので、2か月位は電池が持つのではないかと思っています。
いつも興味深い記事を楽しく見せてもらってます。
以前動画では、電源は乾電池が2本で、3Vでは足らないので、昇圧コンバーターで3.3Vにしてるとのことですが、今回は3本つかってますが、4.5Vになると思いますが降圧コンバータとかは、必要ないのですか?
森見さん、コメントありがとうございます。
ESP-WROO-02開発ボードは、6Vまで動作するので降圧しなくても使用できます。