ボタン(タクトスイッチ)の押し下げを検知する

解説

digitalRead関数使用することで、タクトスイッチの状態を知ることができます。

タクトスイッチが「押されてない状態」から「押されている状態」に変化した時がタクトスイッチが押された時です。

タクトスイッチは、バウンシングと呼ばれる、接点がバウンドして細かくスイッチのON・OFFが切り替わることが発生します。
バウンシングの対策をしないと、スイッチを1回押したときに、複数回押されたと誤認識してしまいます。
「押されてない状態」から「押されている状態」の変化を1度認識したら、しばらく(たとえば0.5秒)は、状態の変化を無視するようにすると、バウンシングの対策となります。

部品表

最低限必要なものは「ハードウェアのセットアップ」参照

部品名 数量 商品名 参考価格
LED 1 赤色LED 3mm OSDR3133A 100個350円
100Ω抵抗器 1 カーボン抵抗(炭素皮膜抵抗) 1/6W 100Ω 100本100円
タクトスイッチ 1 タクトスイッチ 1個10円

接続例

入力ピンとして、digital pin 12 (18番ピン) を使用し、
出力ピンとして、digital pin 13 (19番ピン) を使用した場合の接続例

※電源に関する接続は省略(ブレッドボードの一番下の行に外部電源のVCCを、下から2行目に外部電源のGNDを接続する)

サンプルコード

実行

ダウンロード

サンプルスケッチファイル