戻る
22 スイッチを押したらカッコーが鳴く
回路
Arduino と抵抗(1kΩ茶黒赤金, 1kΩから10kΩ(茶黒橙金)ぐらいならよい)とスイッチ、圧電スピーカを用意します。図のスイッチはタクトスイッチです。回路図のように
Arduinoの2番ピンとスイッチの片方の足、抵抗の片方の足の3つをつなぎます。
スイッチの反対の足はグラウンド(GND)へ、抵抗の反対の足は5Vへつなぎます。
スイッチの向きを90度間違えると動作しないので注意してください。
プログラム
動作
このプログラムを実行している間にスイッチを押すとカッコーの鳴き声がします。
解説
ここで使っている回路ではスイッチを押していないと2番ピンの電圧が5Vに、
スイッチを押すと0Vになります。
これをプログラムで判断するにはdigitalReadを使います。
digitalReadはピンを指定すると入力の状態を確認します。
while文は括弧内の式が成り立っている間、{と}の間を繰り返します。
while(digitalRead(2) == HIGH) {
}
ここでは{と}の間には何もないので、ただ待っています。スイッチを押すと
digitalRead(2)がLOWになって繰り返しが終わりカッコーの
鳴き声が一回します。
ためしてみよう
- == (左右が等しい)の代わりに != (左右が等しくない)を使って同じ動作をするプログラムにしてみましょう(ヒント: HIGHの代わりにLOWを使います)
- 上のプログラムはスイッチを1回押すと終わります。全体を for(;;) [ と } で囲み、スイッチを押すたびにカッコーが鳴くようにしてみましょう
- 21番のプログラム例のように if 文を使って書いてみましょう
戻る
(c) 2014 N. Mitsunaga
サンプルプログラムの著作権は放棄します。fritzingで作成した図は、そちらのライセンスに従って再配布して構いません。