MakeCodeの新機能を使おう メロディブロック②

 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のディスプレイにどんなメロディかを表示して、鳴り終わったら表示が消えるというプログラムだ。

ボタンAが押されたときのプログラム
ボタンAのメロディ
こんなメロディをつくったよ

3 ボタンBはテンポがだんだん速くなるようにする

 ボタンBを押した場合は、単にメロディを鳴らすのではなく、メロディが

かえ
されるごとにテンポが
はや
くなっていくようにするよ。

 テンポをプログラムで変更できるように、変数
へんすう
「メロディの速さ」をつくる。「変数」カテゴリーで「変数を追加する」をクリックすることでつくることができるよ。

変数カテゴリー

 プログラムでは、メロディを繰り返す前に、変数「メロディの速さ」で最初のテンポを決める(①)。その後は、「ループ」カテゴリーの「くりかえし“4”回」ブロックで、4回繰り返すようにしている(②)。「メロディ“♫□ □ □ □ □ □ □ □”をテンポ“120”(bpm)で演奏する」ブロックの“120”に変数「メロディの速さ」を入れている(③)。その後で、「計算
けいさん
」カテゴリーの「“ ” ד ”」ブロックを使って、2倍のテンポにしている(④)。

ボタンBが押されたときのプログラム
ボタンBのメロディ
メロディはこのようにした(好きなメロディをつくってOKだ)

 このプログラムの場合、テンポは次のように変化していく。
 1回目 200(2倍されて2回目へ)
 2回目 400(2倍されて3回目へ)
 3回目 800(2倍されて4回目へ)
 4回目 1600
 最後のテンポは1600bpmとかなり速くなるよ。シミュレーションや、探検ウォッチに書き込んでテストしてみよう。

 ボタンAのプログラムと同じように、どんなメロディかわかるようにアイコンを表示させる。このメロディは「8分音符
ぶおんぷ
」にした(⑤)。メロディが鳴り終わったら表示は消すようにするよ(⑥)。

ボタンBが押されたときのプログラム

4 ボタンAとBを同時に押したときは、メロディがフェードアウトするようにする

 ボタンAとBを同時
どうじ
に押したときは、メロディがフェードアウト(どんどん小さくなる)ようにしよう。

 「音楽」カテゴリーにある「音量
おんりょう
を設定する“127”」ブロックが、音の大きさを設定できるので、これをつかう。次のようなプログラムをつくって、シミュレーションでためしてみよう。

音量をテストするプログラム

 「音量を設定する“127”」ブロックの数字の部分をクリックするとスライダーが表示される。ここで0から55の設定ができてで、数字が小さいと音量が下がり、大きいと音量が上がる。

 それでは、フェードアウトするプログラムをつくっていこう。ここでも変数を使う。「変数」カテゴリーで変数「音の大きさ」をつくって、「変数“音の大きさ”を“0”にする」ブロックで、最初の音の大きさを255にする(⑦)。

 その後は、「ループ」カテゴリーの「くりかえし“4”回」ブロックで、4回繰り返すようにしている(⑧)。「音量を設定する“127”」ブロックの数字の部分に変数「音の大きさ」を入れる。くりかえしの最後は、「計算」カテゴリーの「“ ” ÷“ ”」ブロックを使って、音の大きさを2で
って小さくしている。(⑨)

ボタンAとBが一緒に押されたときのプログラム

 このプログラムだと、音の大きさは次のように変化していくよ。
 ボタンAとBが同時に押されたときは最大の255
 1回目は音量255、繰り返しの終わりに変数「音の大きさ」は2で割って
 2回目は音量127.5、繰り返しの終わりに2で割って
 3回目は音量63.75、繰り返しの終わりに2で割って
 4回目は音量31.875
 音量はどんどん下がっていくよ。シミュレーションでも試してみよう!

 ほかのボタンを押したときのプログラムと同じように、どんなメロディかわかるようにアイコンを表示させる。このメロディは「おばけ」にした(⑩)。メロディが鳴り終わったら表示は消すようにするよ(⑪)。
 ただし、繰り返しが終わって、「表示を消す」ブロックの前に、音量は127に戻しておくために、「音量を設定する“127”」ブロックを入れる(⑫)。これがないと、ボタンAとBを一緒に押した後で、ボタンAを押すと、音が小さいままの状態でなってしまうからだ。

ボタンAとBが一緒に押されたときのプログラム(完成版)

 これでポン出し機能のプログラムは完成だ! 探検ウォッチに書き込んで使ってみよう。発表をしているときの効果音として使ってもいいかもしれないし、例えば家族の誕生日をお
いわ
いするときに、BGMとして鳴らすのもいいかもしれないよ。

 また、ブロックをつないでいけば、曲をつくることができるかもしれない。オリジナルのメロディをぜひつくってみてね。

(文/倉本大資)

最新号好評発売中!

子供の科学 2020年 12月号

CTR IMG