マイクロビットのサウンド機能
マイクロビットにはサウンド機能が用意されています。音楽を演奏したり特定の周波数の音を鳴らすことができます。
今回はこのサウンド機能を使って音楽を演奏したりテルミンっぽい楽器プログラムの作成、温度が一定値を超えたら警告音を出すプログラムを作成します。
用意するもの
今回は音を鳴らすために以下のものが必要になります。
・スピーカーまたはイヤホン
・スピーカーまたはイヤホンと接続するための線
接続するための線は工作で使う銅線を使います。鰐口クリップでとめることができるタイプであれば手軽で便利です。また、マイクロビットの各ピンに接続するコネクタもありますので、それらを利用して結線する方法もあります。
ここでは鰐口クリップを使ってマイクロビットとスピーカーを接続します。図4のようにマイクロビットのGNDと0番をスピーカーのミニプラグに繋げます(シミュレーター画像でも結線方法が図で示されます)。
音楽を演奏する
最初に音楽を演奏してみましょう。ここでは「ド」の音を一定間隔で鳴らしてみます。警告音として鳴らす場合には都合がよいでしょう。 開発のためのページを開きます。新規プロジェクトを作成して下さい。
・JavaScript用のブロックエディタ
https://makecode.microbit.org/
新規プロジェクトを作成すると図のような状態になります。
音楽は「音楽」のカテゴリにあります。ここから「音を鳴らす 高さ「真ん中のド」 長さ「1」拍」というブロックを配置します。
このままだと「ド」の音がずっと鳴り続けてしまいます。そこで、休符を入れて「ド」「ド」「ド」と鳴るようにします。休符も「音楽」のカテゴリにあります。「休符(ミリ秒)「1」拍」のブロックを配置します。
ブロックを配置するとマイクロビットのシミュレータが自動的に音を鳴らしてしまいます。音が気になる場合はシミュレーターの「■」ボタンをクリックすると音が鳴り止みます。再度クリックすると音が鳴ります。
これで完成です。ダウンロードボタンをクリックしてHEXファイルを作成します。あとは作成されたHEXファイルをマイクロビットに転送します。しばらくするとプログラムが起動して、スピーカーから「ド」の音が繰り返し鳴ります。
傾きと音を組み合わせる
マイクロビットには傾斜センサーがありますので、これを利用して音を鳴らすようにしてみます。先ほどは音階でしたが、特定の周波数の音を出してみます。
まず、新規にプロジェクトを作成します。
傾きによって音の周波数を変更するので「音楽」のカテゴリから「音を鳴らす(Hz) 高さ「真ん中のド」」のブロックを配置します。
次に傾きの値を周波数にします。「入力」のカテゴリをクリックします。「…さらに表示」をクリックします。すると「傾斜(°)「ピッチ」」のブロックが出てくるので配置します。配置したら「傾斜(°)「ピッチ」」のブロックを「音を鳴らす(Hz) 高さ「真ん中のド」」ブロックの「真ん中のド」に重ねます。すると傾きによって音の高さが変わるようになります。
完成したらマイクロビットにプログラムを転送します。マイクロビットを傾けて音が変わることを確認しましょう。
さらに工夫すればテルミンのような楽器っぽくなります。マイクロビットで得られる傾斜は2種類あります。この2つの傾きの値を掛け算した値を音の高さにすることで楽器のようになります。 ブロックは以下のように組み上げていきます。
完成したらマイクロビットにプログラムを転送して動作を確認しましょう。マイクロビットを傾けることで音の高さが変わるはずです。
あらかじめ用意された音楽を演奏する
今度は音楽を演奏してみましょう。マイクロビットには、あらかじめ何曲も音楽が用意されています。ここではベートーヴェンの「歓喜の歌」を演奏させてみます。 ブロックを以下のように組み上げていきます。ブロックを配置したら「メロディを開始する「歓喜の歌」 繰り返し「一度だけ」」のように選択します。また、「最初だけ」のブロックに入れてください。間違って「ずっと」のブロックに入れると最初の音だけが繰り返されてしまいます。もし、「ずっと」のブロックに入れた場合は「一時停止(ミリ秒)「100」」で演奏する時間を指定してください。音楽はバックグラウンドで演奏されるのでゲームでも利用することができます。
完成したらマイクロビットにプログラムを転送して動作を確認しましょう。転送後、マイクロビットが起動すると歓喜の歌が演奏されます。
音階を指定して演奏する
自分で作成した曲や既存の曲を演奏することもできます。この場合は「音を鳴らす 高さ「真ん中のド」 長さ「1」拍」ブロックを使います。以下のように組み上げると、♪きらきら星の先頭二小節が演奏されます。
完成したらマイクロビットにプログラムを転送して動作を確認しましょう。転送後、マイクロビットが起動すると曲が演奏されます。 起動したら一度しか演奏されないのでボタンを押したら演奏されるように改造してみるとよいでしょう。
温度が一定値を超えたら音を鳴らす
最後に温度が一定値を超えたら音を鳴らしてみましょう。CPUの温度チェッカーもしくは、うまく値を設定すれば熱中症アラームとしても使うことができるかもしれません。
マイクロビットが複数台ある場合は、温度が一定値を超えたら無線通信を使ってもう一台のマイクロビットでアラーム音を鳴らすようにしてみるのもよいでしょう。
著者 古籏一浩
プログラミングをベースにして面白そうなものはとりあえずやってみるというスタンス。複雑なものよりシンプルで楽しめるものが好み。
著者サイト:http://www.openspc2.org/