バッテリー電圧の監視 - Wifi温度湿度計の製作(12)
未実装だった部品(R10=120K、R11=30K)を実装し、Wifi温度湿度計のバッテリー電圧の監視機能を有効にした。R10・R11抵抗はバッテリー電圧を5分の1に分圧してTOUT端子に入力している。バッテリーの過放電を防止する為、VCC電圧を監視していたがバッテリー電圧を直接監視するようスケッチを修正した。電圧の閾値を3.05Vから3.4Vに変更。 スケッチ修正前(VCC電圧を監視)
code:sketch.ino
// Vcc取得
float vcc = ESP.getVcc() / 1000.;
// Vcc電圧チェック
if (vcc < 3.05) {
// バッテリーの過放電を防ぐために無限スリープに入る
ESP.deepSleep(0);
}
スケッチ修正後(バッテリー電圧を監視)
code:sketch.ino
// バッテリー電圧取得(R10,R11で5分の1に分圧)
float vcc = (analogRead(A0) * 5) / 1023. * 1.04722222222222;
// バッテリー電圧チェック
if (vcc < 3.4) {
// バッテリーの過放電を防ぐために無限スリープに入る
ESP.deepSleep(0);
}
読み込んだバッテリー電圧がテスターで計測した値と異なっていたので適当な係数をかけておいた。
関連リンク