ESP-WROOM-02開発ボードを単三電池で動かす。(DS18B20編)

ESP-WROOM-02開発ボードを単三電池3本で長期に運用するのが目的。

今回は温度センサーDS18B20を使用し、ESP-WROOM-02開発ボードの低消費電力モード「Deep-Sleep」モードを試してみた。

スマホでの温度表示はBlynkです。

配線図

IO16ピンをRST端子に接続しておくことがDeep-Sleepモードからの復帰のためには必要です。

Aruduino IDEでスケッチ書き込み時に16ピンとRSTが接続されているとエラーになるので、ジャンパーピン等を利用して書き込み時に外せる様にすると良いでしょう。

乾電池はVINに接続します。

ESP-WROOM-02開発ボードを乾電池で動かす配線図

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から運用始めたばかりで、まだどれだけ連続して使えるかは分かりません。

いつまで動き続けるか楽しみではあります。

 

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

この記事の著者

toru

1966年訓子府町生まれの訓子府育ち。玉葱や米、メロンを栽培する農家です。一眼レフを本格的に始めたのは2005年。仕事の時でもいつでもカメラを持ち歩く自称農場カメラマン。普段の生活を撮るのが主で、その他ストロボを使っての商品撮影、スタジオ撮影も。愛好家グループで年1回写真展を行っている。農機具の改造や作製、電子工作など、モノづくりが大好きです。

この著者の最新の記事

関連記事

コメント

  1. 掲載からそれほど時間は経っていないようですが
    バッテリーの持ちが気になりますがどのくらい持ちそうですか?

      • toru
      • 2017年 3月 22日

      ESP-WROOM-02の消費電流について解説したページを見ると、そのページが投稿された時点で50日間動いているという事でしたので、2か月位は電池が持つのではないかと思っています。

  1. この記事へのトラックバックはありません。

2017年12月
« 11月    
 123
45678910
11121314151617
18192021222324
25262728293031
ページ上部へ戻る
%d人のブロガーが「いいね」をつけました。