戻る

43 ボタンを押した回数で動作を変える

回路かいろ

21番のプログラム例と回路は同じです。

Arduino と抵抗(1kΩ茶黒赤金, 1kΩから10kΩ(茶黒橙金)ぐらいならよい)とスイッチを用意します。図のスイッチはタクトスイッチです。回路図のように Arduinoの2番ピンとスイッチの片方の足、抵抗の片方の足の3つをつなぎます。 スイッチの反対の足はグラウンド(GND)へ、抵抗の反対の足は5Vへつなぎます。 スイッチの向きを90度間違えると動作しないので注意してください。

プログラム

動作どうさ

このプログラムを実行している間にスイッチを押すとArduinoボード上のLEDが

  1. 消灯
  2. 点灯
  3. 点滅
と変わります。停止ボタンをタップするとプログラムが止まります。 ここでは変数bを上記の3つの状態を覚えておくために使っています。

解説かいせつ

スイッチを押すと2番ピンがLOWになり、一つ目の【もし】ブロックの中身が実行されます。 まずbに1を足し、bが2を超えているなら(3以上)bを0にします。これでbが0→1→2→0→1→2→0→…と変わります。その次の行で20ミリ秒(20/1000秒)待っています。これはスイッチを押してすぐはオンとオフを高速に切り替わる現象(チャタリング)に反応しないためです。20ミリ秒ぐらい待つと安定します。それから【くりかえし(while)】ブロックでスイッチが押されている間、何もせずに待っています。スイッチから手を離すとその部分は終わりです。

残りの部分ではbの値に応じて、0ならLEDを消灯、1ならLEDを点灯、2ならLEDを1回点滅しています。


戻る
(c) 2014-2015 N. Mitsunaga, A.Sugimoto
サンプルプログラムの著作権は放棄します。fritzingで作成した図は、そちらのライセンスに従って再配布して構いません。