見出し画像

M5StickCのバッテリー残量表示

随分前に入手して、あまり触っていなかったM5StickC、現行の環境との差異がありすぎてひと手間かけて使えるようにした。せっかくなので何かプログラムを作ってみることにした。

実はこれとても小型の端末なのだが、充電式バッテリー内蔵なのだ。しかしサイズが小さいからか、しばらく放置していて劣化しているのか、割とすぐに電源が落ちてしまう。充電ケーブルに繋いでもランプ表示などもないので、どれくらい充電したらいいのかもよくわからない。そこでバッテリー残量表示を作ることにした。

画面表示を作る

スクリーンショット 2021-08-29 14.47.01

左上のデバイスが表示されているシミュレーターに左端のグラフィック要素を並べていくと画面表示がすぐに作れる。設置した図形はクリックするとパラメーターが数値で操作可能なので細かな変形も簡単にできる。

長方形だけを利用して、バッテリー残量計とした。”Text”と書いてあるがここには数値などの文字を表示できる。後述するが今回は充電状態のステータス表示をしている。

このようにパソコン上で変更したものは、実行ボタンですぐにデバイス上で実行される。WiFi環境が必要だが、ケーブルで繋ぐなどの手間もなく即反映される様子は単純に面白い。

プログラムを作る

スクリーンショット 2021-08-29 14.24.47

コーディングはブロックタイプのビジュアルプログラミングで簡単に組み立てることができる。よくあるScratchのブロックと若干異なり、条件式や値の組み方など注意が必要だが基本的には同じようなものだ。

今回はバッテリー残量表示を変化させたいので、「Get battery percentage」というブロックで取得した値を自分で作成した”bat”という変数に入れて使用した。batが25より小さいときに0メモリ、25以上50より小さいときに1メモリ、50以上75より小さいときに2メモリ、75以上100より小さいときに3メモリ、100のとき4メモリとなるようにプログラムを作成した。

緑色の長方形はそれぞれrectangle2, 3, 4, 5とラベルがついているのでそれで指定して表示非表示を切り替えるだけだ。

これらの処理は常に値をチェックする必要があるので、「ずっと」というブロックではさみ無限ループとしている。しかし頻度は高くなくていいので500ミリ秒の一時停止を入れている(実際はもう少し長く停止してもいいと思う)

画面を作成する際に入れた”Text”には「Get charge state」という充電状態を取得するブロックを一旦”chg”という変数に入れて表示させてみた。どのような値が返ってくるのか分からなかったので実験のつもりだったが、true / false の真偽値が返ってくることがわかった。

これで充電、放電をさせてバッテリーの消費状況を知ることができた。

作成したプログラムはGoogle Driveに置いて公開してみた。興味があればダウンロードして試してみて欲しい。なかなか面白そうなのでまた何か作ってみたら紹介したい。

この記事が気に入ったらサポートをしてみませんか?