PRESS)STEM教育micro:bitでオモチャを作ろうスタディーオリジナル記事micro:bit子ども向けmicro:bit(マイクロビット)はScratchで誰でも簡単に電子工作できるボート。「音楽を流すブロック」を使って、自分好みの音楽プレーヤーをつくりましょう。【micro:bitでオモチャをつくろう】youtu.beこれまでの【micro:bitでオモチャをつくろう】はこちら用意するもの前回、「音楽を流すブロック」を使ったプログラムと、新しい用具として「スピーカー」を使って、音楽を流してみましたね。今回は「音楽を流すブロック」を使い、工作しながら遊び道具をつくっていきましょう。前回に引き続き、スピーカーとワニ口クリップコードもしくはミノムシクリップコードを用意。コードは今回少し多めに使うので、5本用意してくださいね。上記以外に今回は、厚紙またはダンボールと、アルミホイル、ハサミ、ノリ、色マジックを用意します。自分で用意できない場合は、家の人に手伝ってもらいましょう。今回作成するオモチャは、ミュージックプレーヤーです。「音楽を流すブロック」を使って、音楽を流したり停止したりできるボタンをつくり、ミュージックプレーヤーにします。これまでは、プログラムをスタートしたり、ストップするときは、micro:bitの「A」と「B」というボタンを使っていましたね。今回は、このボタンそのものを自分でつくります。説明が難しいですが、一緒につくっていけば簡単なので、最後まで一緒につくってみましょう。「ミュージックプレーヤー」のプログラムをつくる用意ができたら、さっそく「ミュージックプレーヤー」のプログラムをつくりましょう。プログラムを作成する方法を覚えていますか?忘れてしまった場合はここをクリックしてください。「新しいプロジェクト」と書かれた箇所をクリックしてみましょう。下記のように表示されれば、準備OK。「最初だけ」ブロックを使いましょう。プログラムメニューエリアの【変数】をクリックして「変数を追加する」ブロックをクリック。[作成する変数の名前]と書かれたページが表示されるので、画像のように「音楽」と入力します。「変数(音楽)を(0)にする」ブロックをクリックし、最初のブロックにくっつけます。これは、micro:bitのボタンを使ってゲームをつくろう応用編でも説明しましたね。変数「音楽」という入れ物をつくって、中に「0」という値を入れたということです。「最初だけ」ブロックにくっつけるのはこれだけです。ボタンに変わる新しい動くキッカケを与えるブロックは、「端子(P0)がタッチされたとき」ブロック。(静電容量センサー)とも呼びます。micro:bitではこのブロックを使うと、人の手が端子に触ったり離れたりするのがわかります。そのため、ボタンのように扱えます。それでは、プログラムです。【入力】をクリックして「端子(P0)がタッチされたとき」ブロックをクリック。「端子(P1)がタッチされたとき」と端子を(P1)に変更します。これは、スピーカーの端子がP0とかぶるのを防ぐためです。続いて、プログラムメニューエリアの【変数】をクリックして「変数(音楽)を(0)にする」ブロックをクリック。「変数(音楽)を(1)にする」と変数を(1)に変更して、「端子(P1)がタッチされたとき」にくっつけます。「端子(P1)がタッチされたとき」ブロックを変数ごとコピーしてみましょう。コピーしたいブロックを選んで、[⌘]+[C]または[Ctrl]+[C]を押してコピー、[⌘]+[V]または[Ctrl]+[V]を押して貼り付けます。「端子(P2)がタッチされたとき」と端子を(P2)、「変数(音楽)を(2)にする」と変数を(2)に変更します。引き続き、端子P1、P2がタッチされたときの処理をブロックでつくっていきましょう。「ずっと」ブロックを使ってプログラムをつくっていきます。端子P1を触ると音楽が再生/停止するプログラム端子P1を触ると音楽が流れて、もう一度端子P1を触ると、音楽が止まるというプログラムにしようと思います。なければ」ブロックを使います。なければ」ブロックをクリックして、「ずっと」ブロックにくっつけます。条件をつくっていきましょう。先ほど、端子P1、P2がタッチされたときに変数[音楽]の値を書き換えるプログラムをつくりましたよね。勘がいい人はわかるのではないでしょうか?では、答え合わせをしていきましょう。【論理】ブロックの「(0)(=▼)(0)」をクリック。なければ」ブロックの〈真〉にくっつけます。これで、「端子(P1)がタッチされたとき」の分岐ができました。同じように、「端子(P2)がタッチされたとき」の処理も行います。「でなければ」下のようなアイコンをクリックして、行を増やします。「(変数)(=▼)(1)」をコピーして、(1)を(2)に変更して、先ほど増やした行にくっつけます。これで、「端子(P1)がタッチされたとき」「端子(P2)がタッチされたとき」それぞれの条件を分岐できました。詳しい処理を書いていきます。「端子(P1)がタッチされたとき」に音楽を流したいと思います。「最初だけ」ブロックで使った、「変数(音楽)を(0)にする」をコピーしてそれぞれの条件分岐の下にコピーしましょう。これは、「端子(P1)がタッチされたとき」に変数が「1」に変わり、処理が実行されるのですが、変数を「0」に戻さないと、ずっと1音目が鳴り続けてしまうのを防ぐためです。音楽を流すブロックを配置していきます。【音楽】をクリックして「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックをクリックして、「ずっと」ブロックの中「変数(音楽)を(0)にする」ブロック1個目の下にくっつけます。「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックの値を、「メロディを開始する(プレリュード)くり返し(ずっと)」と変更。くり返しを(ずっと)にすることで、ストップするまで音楽が流れ続けます。音楽が流れている間、アニメーションを流してみます。音楽が流れている間はずっとアニメーションしたいので、ループのブロックを使います。【ループ】をクリックして「もし(真)ならくりかえし」ブロックをクリックして、「ずっと」ブロックの中「メロディを開始する(プレリュード)くり返し(ずっと)」の下にくっつけます。次に条件を作成しますが、この時点では変数が0です。この条件を抜けるのは変数が1か、2の場合だけです。変数が0の間であれば、アイコンを表示していいということです。「(音楽)=(0)」をつくってくっつけましょう。アイコンのブロックを用意。【基本】をクリックして「アイコンを表示」ブロックをクリックしてくっつけます。音符のアイコンに変更して、複製して並べます。以上で、音楽を流す処理が終了しました。今度は音楽をストップする処理ですね。「ずっと」ブログ中「(音楽)=(2)」ブロックの下に処理を書いていきたいと思います。メロディを止める場合は、同じメロディのブロックで、1度だけ音楽を流せば止まります。先ほどと同じようにメロディのブロックを用意します。【音楽】をクリックして「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックをクリックして、「ずっと」ブロックの中「変数(音楽)を(0)にする」ブロック2個目の下にくっつけます。音楽は停止ボタンなので、短くてキレのいい(ピコーン!)をくり返し(一度だけ)にします。これで音楽が停止します。最後に停止したときに音符のアイコンを消してみましょう。アイコンを(×)にして、「メロディを開始する(ピコーン!)くり返し(一度だけ)」ブロックの下にくっつけます。下の「でなければ」部分は今回使わないので、右にある(−)をクリックして削除。