マイクロビットで和音を鳴らしたいと思ったのですが、複数の音を同時に鳴らす方法がわかりませんでした。
それならいっそのこと、複数のmicro:bitを同時に鳴らしてみようと思い立ちました。
せっかくなので、2台のmicro:bitでハモらせてみようと思います。
機能
「音楽」ブロックを使ってメロディーを作り、それを関数にします。いくつかのメロディーを関数として準備しておきます。
「A」ボタンを押すと、一方のmicro:bitがメロディーを再生します。
一節が終わると、「無線」でもう一方のmicro:bitに合図を送ります。受け取ったmicro:bitもメロディーを再生し、「無線」で合図を送り返します。
これを繰り返すことで、2台のmicro:bitが交互に歌ったり、一緒に違う旋律を歌ったりすることができます。
今回は、コブクロの「風をみつめて」という歌のサビの部分を使ってみました。
「A」ボタンを押すと、マイクロビットAがメロディーを歌います(関数「A1」と関数「A2」)。ふたつの関数を歌い終わると、無線で合図「3」を送信します。マイクロビットBは、合図「3」を受けて、関数「B3」を歌います。終わると合図「4」を送信し、引き続き関数「B4」を歌います。合図「4」を受け取ったマイクロビットAは、関数「A4」を歌います。「A4」と「B4」は同時に歌うことになるので、ここで、2台のマイクロビットがハモることになります。
このように、合図を送り合いながら、それぞれの旋律を歌います。
材料
- micro:bit(2)
- 皿ネジ(M3x15mm)(4)
- ナット(M3)(8)
- プラスチック座金(内径3mm)(4)
- USBケーブル(2)
- 電池ボックス(セリアの電池式モバイルバッテリー)(2)
- 電池(単三×4)
- スピーカー(セリアのマルチメディアスピーカー)(2)
- ジャンパー線(一方がワニ口クリップになっているもの)(4)
- 消しゴムの切れはし、両面テープ
プログラム
2小節分のメロディーを関数にしたものを、マイクロビットA用に4種類、マイクロビットB用に5種類準備します。
最初に無線の設定と音楽のテンポ設定を行います。
「A」ボタンを押したとき、無線を受信したとき、それぞれについて、所望の関数呼び出し、無線送信の処理を行います。
つなぎかた
2台とも、全く同じ作業を行います。
micro:bitの「0」、「GND」ピンに、ジャンパー線をつなぎます。
スピーカーの裏に、両面テープで電池ボックスを貼り付けます。
スピーカーの上に、消しゴムと両面テープでmicro:bitを取り付けます。
電池、およびスピーカーを、micro:bitと接続します。
結果
一方のmicro:bitの「A」ボタンを押すと、2台が交互に歌ったり、ハモったりしてくれます。
音楽にあわせて、LEDで顔のイメージを表示させているのですが、表示に時間がかかるため、表示を切り替える部分(2小節ごと)だけ、歌が間延びしてしまいます(8分休符ひとつ分をけずっているのですが、それでも間延びしています)。
頑張れば、もっと複雑な合唱などもできそうですが、今回はここまででギブアップです。