前回エントリーの続きです。
単三電池を使っても、常時稼働していると30~60時間で動かなくなってしまいそうなので、ESP32のディープスリープ機能を使うことにしました。
プログラムを下記のように変更。
void setup() { // ピン設定 pinMode(16, OUTPUT); // LED点灯 digitalWrite(16, HIGH); delay(100); // 5秒のタイマー設定 esp_sleep_enable_timer_wakeup(5000000); // ディープスリープ esp_deep_sleep_start(); } void loop() { }
LEDを光らせたあと、5秒のタイマー設定をしてディープスリープに入るプログラムです。ディープスリープ中はLEDは消灯するので、特にデジタルピンをLOWにはしていません。点灯時間は0.1秒にしました。ディープスリープ中は消費電力がほぼ0になるので、これでだいぶ寿命を稼げるはずです。
駆動は単3電電池2本ですが、手持ちに2本用の電池ボックスが無かったので3本用を改造しました。
元の+(赤)線はそのままにして、白いリード線をはんだ付け。赤いリード線を使うことで3本でも使えますが、その場合は白リード線は格納できないか...
ケースは3Dプリンターで作成。基板の取り付けと蓋の取り付けを兼用にして、2本のネジで固定しています(ESP32が干渉して4本スペーサにできなかった)。
実際に新品の単三電池を用いて一日5~10時間光らせていますが、10日経ってもまだ光っています。いつまでもつか楽しみです。