ボタン(タクトスイッチ)の押し下げを検知する
解説
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を接続する)