2022/07/22

M5Stackのバッテリーの残量を調べる


 M5Stackイラスト ← M5Stackはこんなやつ。

M5Stackのボトムにはバッテリーが入っています。
このバッテリーの残量をプログラム(arduino)で取得することができます。

バッテリー残量の取得

バッテリー残量を調べるにはM5UnifiedライブラリのM5.Powerクラスを使うと便利です。
beginで初期化して、getBatteryLevelで残量を取得できます。
残量は%表示で、「0, 24, 50, 70, 100」の5値で表されます。

github M5Unified

#include <M5Unified.h>

M5.Power.begin();     // 初期化

uint8_t BatteryLevel = M5.Power.getBatteryLevel();     // 残量取得

M5.Powerクラスについて

M5.Powerクラスには、バッテリー残量以外の機能もあります。
チャージ状態の確認や、リセットやスリープモードなどの処理があるようです。
(が、あんまり使わないような気もします。)

詳細は以下が参考になります。

github M5Unified Power_Class.hpp
M5Stack電源IC IP5306 用モニタ
※↑はM5UnifiedライブラリではなくM5Stackライブラリを使用している例ですが、とても参考になります。

電源IC IP5306

M5Stackの電源管理は、IP5306というICが使われています。
上記のM5.Powerクラスを使わずに、I2Cで直接電源ICのレジスタにアクセスすることもできます。
詳細は以下がわかりやすいです。

Zenn M5Stackの充電制御IC IP5306のネット上に分散していたレジスタ情報をまとめる


以上です。




コメント(githubのアカウントが必要です)