戻る

53 電子ピアノ

回路かいろ

Arudinoとスイッチ10個、圧電スピーカを用意し図のようにつなぎます。

プログラム

動作どうさ

このプログラムを実行している間にスイッチを押すと音が出ます。スイッチから手を離すと音が止まります。出せる音はドからドの1オクターブです。 プログラムを止めるにはCtrl+Cを入力します。

解説かいせつ

このプログラムでは、初期化の時に内部プルアップを有効にすることで、スイッチのところに必要となるプルアップ抵抗(ほかのプログラム例では使っているスイッチと電源(5V)の間の抵抗)を省略しています。 内部プルアップを有効にするには

pinMode(i, INPUT);
digitalWrite(i, HIGH);
とします(iはピンの番号)。部品の数が少なくなって便利ですが、抵抗値が適当でない場合もあることに注意してください。

forの無限ループでは最初にtに0を代入し、以降でスイッチが押されていれば、そのスイッチで出す音の周波数をtに代入しています。どのスイッチも押されていなければtは0になります。これを使って最後のif文でtが0でなければ音を出し、0なら音を止めます。


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