pdf-icon

Arduino入門

2. デバイス&サンプル

6. アプリケーション

Atom EchoS3R Button

Atom EchoS3R のボタン入力に関連する API とサンプルプログラムです。

注意事項
使用する際は、メインループに M5.update() 関数を含めて状態更新を読み取る必要があります。また、できるだけブロッキング処理を減らさないと、ボタンの変化をタイムリーに取得できない場合があります。

サンプルプログラム

コンパイル要件

  • M5Stack ボードマネージャーバージョン >= 3.2.2
  • ボードオプション = M5AtomS3R
  • M5Unified ライブラリバージョン >= 0.2.8
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#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ミリ秒長押し後の解放)を検出し、シリアルモニタにメッセージを出力します:

API

Atom EchoS3R のボタン部分は、M5Unified ライブラリの Button_Class を使用しています。関連する API については、以下のドキュメントを参照してください。

On This Page