micro:bit(マイクロビット)は手のひらサイズの小さなコンピューター。いろいろな機能
が備
わっていて、自分でプログラミングをすることができるよ。ブログラミングは「MakeCode(メイクコード) for micro:bit」を使えば、初心者
でもかんたんにできるんだ。
そのMakeCodeなんだけど、6月12日にアップデートされたことはコカネットでも「MakeCodeがバージョンアップしたゾ!」で紹介
したね。
前回は、新しい機能
のうち、「音楽」カテゴリーの「メロディ“♫□ □ □ □ □ □ □ □”をテンポ“120”(bpm)で演奏
する」ブロックを使ってメロディをつくったね。あれから、オリジナルのメロディをいろいろつくってみたかな?
今回はメロディのブロックを活用
して、探検ウォッチに「ポン出し機
」の機能を追加してみるよ。「ポン出し」は演劇
の公演
やイベントなどで、特定
のタイミングで効果音
やBGMを再生させることだ。
1 ポン出し機能のしくみ
探検ウォッチでのポン出し機能は、micro:bitのボタンを押したらメロディが鳴るというしくみにする。ボタンA、Bをそれぞれ押したとき、AとBを同時
に押したときの3つのパターンをつくることができそうだ。
さっそく、MakeCodeでプログラムをはじめよう。MakeCodeのサイトにアクセスしたら、「新しいプロジェクト」を作成しよう。名前は「ポン出し機能」にしたよ。
2 ボタンAのメロディをつくる
まずはボタンAを押したときのメロディをつくってプログラムするよ。メロディのブロックは好きなメロディをつくって、テンポは500bpmにした。
それに、「入力」カテゴリーの「ボタン“A”が押されたとき」ブロックに、「基本」カテゴリーの「アイコンを表示」ブロック(アイコンは「うれしい顔」にした)、「表示を消す」ブロックを組み合わせたよ。ボタンAが押されたら、micro:bitのディスプレイにどんなメロディかを表示して、鳴り終わったら表示が消えるというプログラムだ。
3 ボタンBはテンポがだんだん速くなるようにする
ボタンBを押した場合は、単にメロディを鳴らすのではなく、メロディが繰
り返
されるごとにテンポが速
くなっていくようにするよ。
テンポをプログラムで変更できるように、変数
「メロディの速さ」をつくる。「変数」カテゴリーで「変数を追加する」をクリックすることでつくることができるよ。
プログラムでは、メロディを繰り返す前に、変数「メロディの速さ」で最初のテンポを決める(①)。その後は、「ループ」カテゴリーの「くりかえし“4”回」ブロックで、4回繰り返すようにしている(②)。「メロディ“♫□ □ □ □ □ □ □ □”をテンポ“120”(bpm)で演奏する」ブロックの“120”に変数「メロディの速さ」を入れている(③)。その後で、「計算
」カテゴリーの「“ ” ד ”」ブロックを使って、2倍のテンポにしている(④)。
このプログラムの場合、テンポは次のように変化していく。
1回目 200(2倍されて2回目へ)
2回目 400(2倍されて3回目へ)
3回目 800(2倍されて4回目へ)
4回目 1600
最後のテンポは1600bpmとかなり速くなるよ。シミュレーションや、探検ウォッチに書き込んでテストしてみよう。
ボタンAのプログラムと同じように、どんなメロディかわかるようにアイコンを表示させる。このメロディは「8分音符
」にした(⑤)。メロディが鳴り終わったら表示は消すようにするよ(⑥)。
4 ボタンAとBを同時に押したときは、メロディがフェードアウトするようにする
ボタンAとBを同時
に押したときは、メロディがフェードアウト(どんどん小さくなる)ようにしよう。
「音楽」カテゴリーにある「音量
を設定する“127”」ブロックが、音の大きさを設定できるので、これをつかう。次のようなプログラムをつくって、シミュレーションでためしてみよう。
「音量を設定する“127”」ブロックの数字の部分をクリックするとスライダーが表示される。ここで0から55の設定ができてで、数字が小さいと音量が下がり、大きいと音量が上がる。
それでは、フェードアウトするプログラムをつくっていこう。ここでも変数を使う。「変数」カテゴリーで変数「音の大きさ」をつくって、「変数“音の大きさ”を“0”にする」ブロックで、最初の音の大きさを255にする(⑦)。
その後は、「ループ」カテゴリーの「くりかえし“4”回」ブロックで、4回繰り返すようにしている(⑧)。「音量を設定する“127”」ブロックの数字の部分に変数「音の大きさ」を入れる。くりかえしの最後は、「計算」カテゴリーの「“ ” ÷“ ”」ブロックを使って、音の大きさを2で割
って小さくしている。(⑨)
このプログラムだと、音の大きさは次のように変化していくよ。
ボタンAとBが同時に押されたときは最大の255
1回目は音量255、繰り返しの終わりに変数「音の大きさ」は2で割って
2回目は音量127.5、繰り返しの終わりに2で割って
3回目は音量63.75、繰り返しの終わりに2で割って
4回目は音量31.875
音量はどんどん下がっていくよ。シミュレーションでも試してみよう!
ほかのボタンを押したときのプログラムと同じように、どんなメロディかわかるようにアイコンを表示させる。このメロディは「おばけ」にした(⑩)。メロディが鳴り終わったら表示は消すようにするよ(⑪)。
ただし、繰り返しが終わって、「表示を消す」ブロックの前に、音量は127に戻しておくために、「音量を設定する“127”」ブロックを入れる(⑫)。これがないと、ボタンAとBを一緒に押した後で、ボタンAを押すと、音が小さいままの状態でなってしまうからだ。
これでポン出し機能のプログラムは完成だ! 探検ウォッチに書き込んで使ってみよう。発表をしているときの効果音として使ってもいいかもしれないし、例えば家族の誕生日をお祝
いするときに、BGMとして鳴らすのもいいかもしれないよ。
また、ブロックをつないでいけば、曲をつくることができるかもしれない。オリジナルのメロディをぜひつくってみてね。
(文/倉本大資)