デフォルトでは小容量のLi-ion電池が内蔵されていますが、残量を知る方法が必要な時があります。完全放電してしまうと電池は再生不能になるし。
https://m5stack-build.hatenablog.com/entry/2019/10/05/233914
で電池残量表示していたので、該当部分だけのコードを引き出して、既存のプロジェクト、
https://isehara-3lv.sakura.ne.jp/blog/2022/02/04/1095/
に埋め込みました。
コア部分だけ抜き出すと以下の通り。setup_batt()が初期化、read_batt()が残量読み取りです。
void setup_batt()
{
M5.begin();
M5.Power.begin();
}
int read_batt()
{
int l_battery = M5.Power.getBatteryLevel();
return l_battery;
}
ソースコードは、
https://github.com/chateight/servo_
になります。ファイル追加のついでに、汚かった構造(ヘッダーファイルにソースコード混在など)を書き直してます。
おそらく、どのプロジェクトでも電池残量表示はデフォルトで必要だろうと思う。
今は満充電のようですが、表示はおそらくそれほどの精度はなくて目安だろうと思う。
P.S.
2日ぐらい経過してみてみたら75%表示になっているから機能はしている。ただし分解能は25%らしい。
admin