pdf-icon

Arduino入門

2. デバイス&サンプル

6. アプリケーション

PowerHub Button

PowerHub ボタンに関連する API とサンプルプログラムです。

サンプルプログラム

コンパイル要件

  • M5Stack ボードマネージャーのバージョン >= 3.2.3
  • 開発ボードの選択 = M5PowerHub
  • M5Unified ライブラリのバージョン >= 0.2.11
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
#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");
  }

  if (M5.BtnB.wasPressed()) {
    Serial.println("BtnB was pressed");
  }
  if (M5.BtnB.wasReleased()) {
    Serial.println("BtnB was released");
  }
  if (M5.BtnB.wasSingleClicked()) {
    Serial.println("BtnB was single clicked");
  }
  if (M5.BtnB.wasDoubleClicked()) {
    Serial.println("BtnB was double clicked");
  }
  if (M5.BtnB.wasHold()) {
    Serial.println("BtnB was held");
  }
  if (M5.BtnB.wasReleaseFor(5000)) {  // ms
    Serial.println("BtnB was released after being held for 5000 ms");
  }

  delay(10);
}

このプログラムは、デバイス上の 2 つのボタン(黄色い丸型ボタンは BtnA、半透明の長方形ボタンは BtnB)の状態を検出します。検出できる状態には、押下・解放・短押し(1 回 / 2 回)・長押し・5000 ミリ秒長押し後の解放などがあります。検出結果はシリアルモニター(Serial Monitor)にメッセージとして出力されます。

API

PowerHub Button のドライバ部分は、M5Unified ライブラリの Button_Class を使用しています。関連する API の詳細については、以下のドキュメントを参照してください:

On This Page