micro:bitを使ってみる 24 〜micro:bitにハモらせる

マイクロビットで和音を鳴らしたいと思ったのですが、複数の音を同時に鳴らす方法がわかりませんでした。

それならいっそのこと、複数の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分休符ひとつ分をけずっているのですが、それでも間延びしています)。

頑張れば、もっと複雑な合唱などもできそうですが、今回はここまででギブアップです。

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。


このサイトで書いている、マイクロビットに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のマイクロビット記事にも興味のある方は「さとやまノート」をご覧ください。