在前篇ESP32改裝Lachino自動感應抗菌除臭機中, 在使用電池時在活動模式(Active mode)下運行並不理想, 因為電池的電量很快耗盡. 所以就決定試看看用深度睡眠模式(Deep Sleep mode)的方式來減少運行的功耗, 再利用GPIO外部喚醒方式來運作.
ESP32有基本的sample範例
esp_sleep_wakeup_cause_t wakeup_reason;
wakeup_reason = esp_sleep_get_wakeup_cause();
esp_sleep_enable_ext0_wakeup(GPIO_NUM_33,1); //1 = High, 0 = Low
我的 PIRPin = 33; 當作外部觸發的腳位
if(motion_off==50000){
vTaskSuspend(hled);
Serial.println("esp_deep_sleep_start");
esp_deep_sleep_start();
}
當偵測腳為低準位時計數至50000時就關閉其他功能並開始深度睡眠esp_deep_sleep_start();
沒有留言:
張貼留言