LoginSignup
0
0

More than 3 years have passed since last update.

Button2でチャタリング除去,(ダブルクリック等の)スイッチ処理

Last updated at Posted at 2020-01-11

某箇所で紹介されていた

というのがありまして,いろいろなArduinoで使えるようなので試してみました。

手っ取り早く,micro:bitに2個のスイッチがありますので,これを使いました。

準備

  • micro:bit 用の環境を揃える

  • Button2をインストールします。

    • https://github.com/LennartHennigs/Button2 にうつり,[Clone or download] で zip をダウンロード, Arduino IDE スケッチ - ライブラリをインクルード - .ZIP形式のライブラリをインストールします。

試してみる

  • Arduino IDE で,スケッチ例 - Button2 - MultiHandler を選びます。

  • ボタン定義部分を以下のように書き換えます。

変更前
#define BUTTON_A_PIN  2

/////////////////////////////////////////////////////////////////

Button2 buttonA = Button2(BUTTON_A_PIN);
変更後
// #define BUTTON_A_PIN  2

/////////////////////////////////////////////////////////////////

Button2 buttonA = Button2(PIN_BUTTON_A);
  • 実行結果

1回押し,2回押し,3回押し,長押ししてみました。

image.png

良いようです。他のスケッチ例も動きました。

チャタリングの処理,2回押し等は,結構面倒なのですが,Button2を使うことで簡単に実装できますね。

いわゆるオフトリガー(=はなしたら反応する)なので,オントリガーを必要とする場合はダメですが...

micro:bitの上記スケッチで,3692バイトでした。

参考URL

https://github.com/LennartHennigs/Button2
https://ht-deko.com/arduino/microbit.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0