M5StickCシリーズ(Plus、Plus2含む)で1つのバイナリで動くプログラムを作っている(M5Burnerで書き込めるように)。一定時間ボタン操作がなかったら電源を切りたい。バッテリを長持ちさせるため。
どんな方法あるか調べる。結局、M5Stack公式のサポートにあるチャットで聞きながら、試す。
USB接続のまま使うことは想定しないので、とりあえずpowerOff()でいけた。
Claudeに聞いたら「powerOFF()」とか言ってきて、そんなのないとコンパイルでエラーになった(OFFが全部大文字だったので)ので、公式に聞くに至った次第。以前「M5StickC Plusで電源OFF」なんてのを書いてたけど、すでに意味がない。そんなこんなで。
以下、チャットからの情報をメモ。
M5UnifiedライブラリではM5.Power.powerOff()
を使用できます。M5StickCシリーズでの機種ごとの主な違いと使用方法は以下の通りです。
基本的な使用方法(共通)
M5UnifiedではM5.Power.powerOff()
で電源を完全に切断できます。
#include <M5Unified.h>
void setup() {
auto cfg = M5.config();
M5.begin(cfg); // 初期化
M5.Display.print("3秒後に電源オフ");
delay(3000);
M5.Power.powerOff(); // 電源切断
}
void loop() {}
M5StickCシリーズの機種ごとの違い
1. M5StickC / M5StickC Plus
- PMICチップ:AXP192を搭載
- 動作条件:USBケーブルを抜いた状態(電池駆動時)のみ
powerOff()
が有効
→ USB接続中は電源を切断できず、画面が消えるのみ(ハードウェア制限)。
2. M5StickC Plus2
- PMICチップ:なし(ESP32の低電力モードを使用)
- 動作条件:USB接続中でも
powerOff()
が有効
→ 電源切断後、電源ボタンを長押しすると再起動します。
注意点
- USB接続時の挙動
- M5StickC/C Plus:USB接続中は
powerOff()
できないため、事前にUSBを抜く必要があります。 - M5StickC Plus2:USB接続中でも電源を切断可能です。
- M5StickC/C Plus:USB接続中は
- 電池残量
電池残量が極端に低い場合は、powerOff()
が正常に動作しないことがあります。 - 再起動方法
- M5StickC/C Plus:電源ボタンを長押し(約5秒)で再起動。
- M5StickC Plus2:電源ボタンを短押しで再起動。
コメント