
Arduino入門
StackChan のボタン入力に関連する API とサンプルプログラムです。
M5.update() 関数を含め、ブロッキング処理をできる限り減らしてください。これを行わないと、ボタンの状態変化をタイムリーに取得できない場合があります。#include <M5Unified.h>
void setup(void)
{
auto cfg = M5.config();
M5.begin(cfg);
M5.Display.setTextColor(RED);
M5.Display.setTextDatum(middle_center);
M5.Display.setFont(&fonts::Orbitron_Light_24);
M5.Display.setTextSize(1);
M5.Display.drawString("Touch Button Test", M5.Display.width() / 2, 15);
}
void loop(void)
{
M5.update();
if (M5.BtnPWR.wasClicked()) {
M5.Display.fillRect(0, 40, M5.Display.width(), 70, BLACK);
M5.Display.drawString("Btn PWR", M5.Display.width() / 2, M5.Display.height() / 2 - 30);
}
}書き込みが完了すると、StackChan の電源ボタン(BtnPWR)を押してイベントをトリガーできます。ボタンをクリックすると、デバイスがそのイベントを検出し、画面上に「Btn PWR」のテキストが表示されます。
StackChan の物理ボタン(BtnPWR)の状態読み取りは電源管理チップに依存しており、現在は wasClicked、wasHold のみ正常に使用できます。