Arduino入門
Atom EchoS3R のボタン入力に関連する API とサンプルプログラムです。
M5.update()
関数を含めて状態更新を読み取る必要があります。また、できるだけブロッキング処理を減らさないと、ボタンの変化をタイムリーに取得できない場合があります。#include "M5Unified.h"
void setup() {
M5.begin();
Serial.begin(115200);
}
void loop() {
M5.update();
if (M5.BtnA.wasPressed()) {
Serial.println("BtnA was pressed");
}
if (M5.BtnA.wasReleased()) {
Serial.println("BtnA was released");
}
if (M5.BtnA.wasSingleClicked()) {
Serial.println("BtnA was single clicked");
}
if (M5.BtnA.wasDoubleClicked()) {
Serial.println("BtnA was double clicked");
}
if (M5.BtnA.wasHold()) {
Serial.println("BtnA was held");
}
if (M5.BtnA.wasReleaseFor(5000)) { // ms
Serial.println("BtnA was released after being held for 5000 ms");
}
delay(5);
}
このプログラムは、デバイス前面のボタンの状態(押下、解放、短押し1回、短押し2回、長押し、5000ミリ秒長押し後の解放)を検出し、シリアルモニタにメッセージを出力します:
Atom EchoS3R のボタン部分は、M5Unified
ライブラリの Button_Class
を使用しています。関連する API については、以下のドキュメントを参照してください。