Arduino Megaとeviveとスクラッチでブザーピアノ

Arduino Megaとeviveと教育用プログラミング言語「スクラッチ」でピアノを作った方がいました。ピアノというのはちょっと語弊がありますね。ボタンを押すとブザーからチープな音が出てきます。ブザーピアノと呼ぶべきでしょう。

piano

以下の動画で実際に音を鳴らしているところが確認できます。

eviveはコンピュータ教育用のオープンソース・プロトタイピング・プラットフォームです。eviveがあれば学ぶのも開発するのもデバッグするのも簡単になるという触れ込みです。開発者はインドのカーンプル州にあるAgilo Technologiesです。世界中の人たちがいろいろなことをやっていておもしろいですね・・・!

evive

education

evivefun

興味がある方はクラウドファンディングのindiegogoから注文してみましょう。お値段は25ドルからです。しかし、残念ながら達成金額の26%しか達していません。残された期間は1ヶ月。達成金額に達するのはむずかしい段階でしょう。というわけで窮地を乗り切るために意欲的に広報活動をしているそうです。今回、僕が見つけてきた記事もその一つだと思います。僕は魅力に欠ける商品と思ってしまいましたが・・・。

さて、彼らはArduino Megaを以下のように繋げました。Pin2はC(ド)、Pin3はD(レ)、Pin4はE(ミ)・・・となるように設計していますね。

1-3.jpg

1-4.jpg

実はArduinoにはtone関数というのがあります。周波数を打ち込めば好きな音程を簡単にプログラミングすることができます。

#define BEAT 300   // 音の長さを指定
#define PINNO 12   // 圧電スピーカを接続したピン番号

void setup() {
}
void loop() {
     tone(PINNO,262,BEAT) ;  // ド 262が周波数
     delay(BEAT) ;
     tone(PINNO,294,BEAT) ;  // レ
     delay(BEAT) ;
     tone(PINNO,330,BEAT) ;  // ミ
     delay(BEAT) ;
     tone(PINNO,349,BEAT) ;  // ファ
     delay(BEAT) ;
     tone(PINNO,392,BEAT) ;  // ソ
     delay(BEAT) ;
     tone(PINNO,440,BEAT) ;  // ラ
     delay(BEAT) ;
     tone(PINNO,494,BEAT) ;  // シ
     delay(BEAT) ;
     tone(PINNO,523,BEAT) ;  // ド
     delay(3000) ;           // 3秒後に繰り返す
}

例は3秒ごとにドレミファソラシドを順番に鳴らしていくプログラムです。eviveはスクラッチでプログラミングさせるのがキャッチコピーなので彼らはスクラッチで書いています。

1-5.jpg

Tone関数で鳴らせる音はチープかもしれませんが、子供受けはよさそうですね。ちなみにサイン波や三角波を出力することも可能です。ただし、Tone関数のようにはいかないのではご注意を!

転載元:DIY piano using scratch and evive (arduino powered embedded platform