Arduino入門
Air Quality のバッテリー残量に関する API とサンプルプログラム。
#include <M5Unified.h> static constexpr int BAT_PIN = 14; static constexpr float VREF = 3.3f; // ADC 参照電圧static constexpr int ADC_RESOLUTION = 4095; // 12ビット分解能 (0~4095)static constexpr float DIVIDER = 2.0f; // 分圧比 void setup() { // M5Unified の初期化 M5.begin(); analogSetPinAttenuation(BAT_PIN, ADC_11db); M5.Display.clear(TFT_BLACK); M5.Display.setTextColor(TFT_WHITE, TFT_BLACK); M5.Display.setTextSize(3);} void loop() { // ADC を一度読み取る int raw = analogRead(BAT_PIN); // 電圧を計算: raw/4095 * 3.3 * 2 float vb = (raw / float(ADC_RESOLUTION)) * VREF * DIVIDER; // 結果を画面に表示 M5.Display.fillScreen(TFT_BLACK); M5.Display.setCursor(10, 20); M5.Display.printf("Battery:\n%.2f V", vb); // 毎秒更新 delay(5000); M5.update();}
アップロード後、以下のように表示されます: