micro:bit(マイクロビット)はScratchで誰でも簡単に電子工作できるボート。「音楽を流すブロック」を使って、自分好みの音楽プレーヤーをつくりましょう。
画像: ミュージックプレーヤーをつくろう! 【micro:bitでオモチャをつくろう】 youtu.be

ミュージックプレーヤーをつくろう! 【micro:bitでオモチャをつくろう】

youtu.be

用意するもの

前回、「音楽を流すブロック」を使ったプログラムと、新しい用具として「スピーカー」を使って、音楽を流してみましたね。今回は「音楽を流すブロック」を使い、工作しながら遊び道具をつくっていきましょう。

前回に引き続き、スピーカーとワニ口クリップコードもしくはミノムシクリップコードを用意。コードは今回少し多めに使うので、5本用意してくださいね。

画像1: 用意するもの
画像2: 用意するもの

上記以外に今回は、厚紙またはダンボールと、アルミホイル、ハサミ、ノリ、色マジックを用意します。自分で用意できない場合は、家の人に手伝ってもらいましょう。

画像3: 用意するもの

今回作成するオモチャは、ミュージックプレーヤーです。「音楽を流すブロック」を使って、音楽を流したり停止したりできるボタンをつくり、ミュージックプレーヤーにします。

これまでは、プログラムをスタートしたり、ストップするときは、micro:bitの「A」と「B」というボタンを使っていましたね。今回は、このボタンそのものを自分でつくります。説明が難しいですが、一緒につくっていけば簡単なので、最後まで一緒につくってみましょう。

画像4: 用意するもの

「ミュージックプレーヤー」のプログラムをつくる

用意ができたら、さっそく「ミュージックプレーヤー」のプログラムをつくりましょう。プログラムを作成する方法を覚えていますか?忘れてしまった場合はここをクリックしてください。そして、「新しいプロジェクト」と書かれた箇所をクリックしてみましょう。下記のように表示されれば、準備OK。

画像1: 「ミュージックプレーヤー」のプログラムをつくる

まずは、「最初だけ」ブロックを使いましょう。

画像2: 「ミュージックプレーヤー」のプログラムをつくる

プログラムメニューエリアの【変数】をクリックして「変数を追加する」ブロックをクリック。

画像3: 「ミュージックプレーヤー」のプログラムをつくる

[作成する変数の名前]と書かれたページが表示されるので、画像のように「音楽」と入力します。

画像4: 「ミュージックプレーヤー」のプログラムをつくる

「変数(音楽)を(0)にする」ブロックをクリックし、最初のブロックにくっつけます。

画像5: 「ミュージックプレーヤー」のプログラムをつくる
画像6: 「ミュージックプレーヤー」のプログラムをつくる

これは、micro:bitのボタンを使ってゲームをつくろう応用編でも説明しましたね。変数「音楽」という入れ物をつくって、中に「0」という値を入れたということです。「最初だけ」ブロックにくっつけるのはこれだけです。

ボタンに変わる新しい動くキッカケを与えるブロックは、「端子(P0)がタッチされたとき」ブロック。これはタッチセンサー (静電容量センサー)とも呼びます。micro:bitではこのブロックを使うと、人の手が端子に触ったり離れたりするのがわかります。そのため、ボタンのように扱えます。

それでは、プログラムです。【入力】をクリックして「端子(P0)がタッチされたとき」ブロックをクリック。

画像7: 「ミュージックプレーヤー」のプログラムをつくる

「端子(P1)がタッチされたとき」と端子を(P1)に変更します。これは、スピーカーの端子がP0とかぶるのを防ぐためです。

画像8: 「ミュージックプレーヤー」のプログラムをつくる

続いて、プログラムメニューエリアの【変数】をクリックして「変数(音楽)を(0)にする」ブロックをクリック。

画像9: 「ミュージックプレーヤー」のプログラムをつくる

「変数(音楽)を(1)にする」と変数を(1)に変更して、「端子(P1)がタッチされたとき」にくっつけます。

画像10: 「ミュージックプレーヤー」のプログラムをつくる

「端子(P1)がタッチされたとき」ブロックを変数ごとコピーしてみましょう。コピーしたいブロックを選んで、[⌘]+[C]または[Ctrl]+[C]を押してコピー、[⌘]+[V]または[Ctrl]+[V]を押して貼り付けます。

画像11: 「ミュージックプレーヤー」のプログラムをつくる

「端子(P2)がタッチされたとき」と端子を(P2)、「変数(音楽)を(2)にする」と変数を(2)に変更します。

画像12: 「ミュージックプレーヤー」のプログラムをつくる

引き続き、端子P1、P2がタッチされたときの処理をブロックでつくっていきましょう。「ずっと」ブロックを使ってプログラムをつくっていきます。

端子P1を触ると音楽が再生/停止するプログラム

端子P1を触ると音楽が流れて、もう一度端子P1を触ると、音楽が止まるというプログラムにしようと思います。どんなブロックを使いますか?正解は、【論理】ブロックの「もし〈真〉なら でなければ」ブロックを使います。【論理】をクリックして「もし〈真〉なら でなければ」ブロックをクリックして、「ずっと」ブロックにくっつけます。

画像1: 端子P1を触ると音楽が再生/停止するプログラム

では条件をつくっていきましょう。先ほど、端子P1、P2がタッチされたときに変数[音楽]の値を書き換えるプログラムをつくりましたよね。勘がいい人はわかるのではないでしょうか?

では、答え合わせをしていきましょう。【論理】ブロックの「(0)(=▼)(0)」をクリック。

画像2: 端子P1を触ると音楽が再生/停止するプログラム

左側に変数「音楽」、右側に「1」を入れ、「もし〈真〉なら でなければ」ブロックの〈真〉にくっつけます。

画像3: 端子P1を触ると音楽が再生/停止するプログラム

これで、「端子(P1)がタッチされたとき」の分岐ができました。

画像4: 端子P1を触ると音楽が再生/停止するプログラム

同じように、「端子(P2)がタッチされたとき」の処理も行います。「でなければ」下のようなアイコンをクリックして、行を増やします。

画像5: 端子P1を触ると音楽が再生/停止するプログラム
画像6: 端子P1を触ると音楽が再生/停止するプログラム

「(変数)(=▼)(1)」をコピーして、(1)を(2)に変更して、先ほど増やした行にくっつけます。

画像7: 端子P1を触ると音楽が再生/停止するプログラム

これで、「端子(P1)がタッチされたとき」「端子(P2)がタッチされたとき」それぞれの条件を分岐できました。さらに詳しい処理を書いていきます。

音楽を流す処理

「端子(P1)がタッチされたとき」に音楽を流したいと思います。「最初だけ」ブロックで使った、「変数(音楽)を(0)にする」をコピーしてそれぞれの条件分岐の下にコピーしましょう。

画像1: 音楽を流す処理

これは、「端子(P1)がタッチされたとき」に変数が「1」に変わり、処理が実行されるのですが、変数を「0」に戻さないと、ずっと1音目が鳴り続けてしまうのを防ぐためです。

いよいよ音楽を流すブロックを配置していきます。【音楽】をクリックして「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックをクリックして、「ずっと」ブロックの中「変数(音楽)を(0)にする」ブロック1個目の下にくっつけます。

画像2: 音楽を流す処理
画像3: 音楽を流す処理

「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックの値を、「メロディを開始する(プレリュード)くり返し(ずっと)」と変更。くり返しを(ずっと)にすることで、ストップするまで音楽が流れ続けます。

画像4: 音楽を流す処理

音楽が流れている間、アニメーションを流してみます。音楽が流れている間はずっとアニメーションしたいので、ループのブロックを使います。

【ループ】をクリックして「もし(真)ならくりかえし」ブロックをクリックして、「ずっと」ブロックの中「メロディを開始する(プレリュード)くり返し(ずっと)」の下にくっつけます。

画像5: 音楽を流す処理
画像6: 音楽を流す処理

次に条件を作成しますが、この時点では変数が0です。この条件を抜けるのは変数が1か、2の場合だけです。なので、変数が0の間であれば、アイコンを表示していいということです。「(音楽)=(0)」をつくってくっつけましょう。

画像7: 音楽を流す処理

アイコンのブロックを用意。【基本】をクリックして「アイコンを表示」ブロックをクリックしてくっつけます。

画像8: 音楽を流す処理

音符のアイコンに変更して、複製して並べます。

画像9: 音楽を流す処理

音楽をストップする処理

以上で、音楽を流す処理が終了しました。今度は音楽をストップする処理ですね。「ずっと」ブログ中「(音楽)=(2)」ブロックの下に処理を書いていきたいと思います。

メロディを止める場合は、同じメロディのブロックで、1度だけ音楽を流せば止まります。先ほどと同じようにメロディのブロックを用意します。【音楽】をクリックして「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックをクリックして、「ずっと」ブロックの中「変数(音楽)を(0)にする」ブロック2個目の下にくっつけます。

画像1: 音楽をストップする処理
画像2: 音楽をストップする処理

音楽は停止ボタンなので、短くてキレのいい(ピコーン!)をくり返し(一度だけ)にします。これで音楽が停止します。

画像3: 音楽をストップする処理

最後に停止したときに音符のアイコンを消してみましょう。アイコンを(×)にして、「メロディを開始する(ピコーン!)くり返し(一度だけ)」ブロックの下にくっつけます。

画像4: 音楽をストップする処理

一番下の「でなければ」部分は今回使わないので、右にある(−)をクリックして削除。

画像5: 音楽をストップする処理
記事全文ページのみ

This article is a sponsored article by
''.