Arduino入門
Paper のバッテリー状態に関する API とサンプルプログラム。
#include <M5Unified.h>
#include <M5GFX.h>
void setup() {
M5.begin();
M5.Display.setRotation(0);
M5.Display.setFont(&fonts::FreeMonoBold18pt7b);
M5.Display.setEpdMode(epd_text); // epd_quality, epd_text, epd_fast, epd_fastest
M5.Display.clear();
M5.Display.setCursor(0, 200);
M5.Display.println(" Paper Realtime");
M5.Display.println(" Battery Status\n\n");
M5.Display.println(" Battery Level:\n");
M5.Display.println(" Battery Voltage:\n");
}
void loop() {
M5.update();
int32_t batteryLevel = M5.Power.getBatteryLevel(); // 0 - 100 %
int16_t batteryVoltage = M5.Power.getBatteryVoltage(); // unit: mV
M5.Display.setCursor(360, 340);
M5.Display.printf(" %3d %%", batteryLevel);
M5.Display.setCursor(360, 410);
M5.Display.printf("%4d mV", batteryVoltage);
delay(2000);
}
このプログラムは、電池残量(パーセンテージ)、電圧を画面に表示し、2秒ごとに更新します。ハードウェアの制限により、Paper はバッテリーの充電状態、バッテリー電流を読み取ることができません。
Paper のバッテリー状態部分では、M5Unified
ライブラリの Power_Class
を使用しています。詳細は以下のドキュメントをご参照ください: