スイッチを押すとカッコーの鳴き声が1回します。スイッチを2回以上押しても反応しません。
ここで使っている回路ではスイッチを押していないと2番ピンの電圧が5Vに、 スイッチを押すと0Vになります。 これをプログラムで判断するにはdigitalReadを使います。 digitalReadはピンを指定すると入力の状態を確認します。
while文は括弧内の式が成り立っている間、{と}の間を繰り返します。while(digitalRead(2) == HIGH) { }ここでは{と}の間には何もないので、ただ待っています。スイッチを押すと digitalRead(2)がLOWになって繰り返しが終わりカッコーの 鳴き声が一回します。
こんどは2回目にスイッチを押したときにも反応するようにしてみましょう。setup()関数に書いていた内容をloop()関数へ移すと鳴き終わると、スイッチが押されるのを待つようになります。
loop関数は一番最後の行まで実行すると最初の行から繰り返します。そこでwhileループを使う代わりに次にようなプログラムにしても同じ動作をします。スイッチを押していたら(LOWなら)中括弧内を実行します。
関数を中断する return 文を組み合わせることもできます。return文を実行するとプログラムはloop関数の先頭から繰り返します。つぎのようなプログラムを書くと、スイッチを押していないときにはloop関数の先頭から繰り返すのでwhileループで待っているのと同じ動作になります。