micro:bit(マイクロビット)はScratchで誰でも簡単に電子工作できるボート。「音楽を流すブロック」を使って、自分好みの音楽プレーヤーをつくりましょう。
ミュージックプレーヤーをつくろう! 【micro:bitでオモチャをつくろう】
用意するもの
前回、「音楽を流すブロック」を使ったプログラムと、新しい用具として「スピーカー」を使って、音楽を流してみましたね。今回は「音楽を流すブロック」を使い、工作しながら遊び道具をつくっていきましょう。
前回に引き続き、スピーカーとワニ口クリップコードもしくはミノムシクリップコードを用意。コードは今回少し多めに使うので、5本用意してくださいね。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/4667ab45d65a773fefcac13ed5c5279f7e785bba_xlarge.jpg)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/d4eeb95396d1e402ae41dab086ebeb8b14f669f9_xlarge.jpg)
上記以外に今回は、厚紙またはダンボールと、アルミホイル、ハサミ、ノリ、色マジックを用意します。自分で用意できない場合は、家の人に手伝ってもらいましょう。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/0439c5d57a76aca703efb3e2ef57f96499ed272b_xlarge.jpg)
今回作成するオモチャは、ミュージックプレーヤーです。「音楽を流すブロック」を使って、音楽を流したり停止したりできるボタンをつくり、ミュージックプレーヤーにします。
これまでは、プログラムをスタートしたり、ストップするときは、micro:bitの「A」と「B」というボタンを使っていましたね。今回は、このボタンそのものを自分でつくります。説明が難しいですが、一緒につくっていけば簡単なので、最後まで一緒につくってみましょう。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/1913f8ba028d9ad52f96e50170ef660e8b68e46f_xlarge.jpg)
「ミュージックプレーヤー」のプログラムをつくる
用意ができたら、さっそく「ミュージックプレーヤー」のプログラムをつくりましょう。プログラムを作成する方法を覚えていますか?忘れてしまった場合はここをクリックしてください。そして、「新しいプロジェクト」と書かれた箇所をクリックしてみましょう。下記のように表示されれば、準備OK。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/4439cd24dde8d6d80b6ff86ea5c80300c8138975_xlarge.jpg)
まずは、「最初だけ」ブロックを使いましょう。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/c3a7c24d8ac24d9b639b222774ebdf66fd8733e8_xlarge.jpg)
プログラムメニューエリアの【変数】をクリックして「変数を追加する」ブロックをクリック。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/2fe8feca8de2b05d7370786f92d72ebf19883db1.png)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/3c26e52c4f2c4172b8677d2b5ffa7343780dc8a4_xlarge.jpg)
「変数(音楽)を(0)にする」ブロックをクリックし、最初のブロックにくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/c042e7bf5a6fd10d77dc718a1422060761dcbc4b.png)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/1ef7be66a39e044b4631b138c325fae8b97f972c.png)
これは、micro:bitのボタンを使ってゲームをつくろう応用編でも説明しましたね。変数「音楽」という入れ物をつくって、中に「0」という値を入れたということです。「最初だけ」ブロックにくっつけるのはこれだけです。
ボタンに変わる新しい動くキッカケを与えるブロックは、「端子(P0)がタッチされたとき」ブロック。これはタッチセンサー (静電容量センサー)とも呼びます。micro:bitではこのブロックを使うと、人の手が端子に触ったり離れたりするのがわかります。そのため、ボタンのように扱えます。
それでは、プログラムです。【入力】をクリックして「端子(P0)がタッチされたとき」ブロックをクリック。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/3457d22e4eca878715f54cd906a53a99b9493d58.png)
「端子(P1)がタッチされたとき」と端子を(P1)に変更します。これは、スピーカーの端子がP0とかぶるのを防ぐためです。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/98312a53f782e9c25b682916bcc570eac741f30b.png)
続いて、プログラムメニューエリアの【変数】をクリックして「変数(音楽)を(0)にする」ブロックをクリック。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/c042e7bf5a6fd10d77dc718a1422060761dcbc4b.png)
「変数(音楽)を(1)にする」と変数を(1)に変更して、「端子(P1)がタッチされたとき」にくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/22a2f7bd1eb68e72f682bd486ed126e02456e174.png)
「端子(P1)がタッチされたとき」ブロックを変数ごとコピーしてみましょう。コピーしたいブロックを選んで、[⌘]+[C]または[Ctrl]+[C]を押してコピー、[⌘]+[V]または[Ctrl]+[V]を押して貼り付けます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/6d8d526dda789474fdc167d36ff70d598eeeba60.png)
「端子(P2)がタッチされたとき」と端子を(P2)、「変数(音楽)を(2)にする」と変数を(2)に変更します。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/4d51cf652c46ab92b11998bf8dbb6336009b803c.png)
引き続き、端子P1、P2がタッチされたときの処理をブロックでつくっていきましょう。「ずっと」ブロックを使ってプログラムをつくっていきます。
端子P1を触ると音楽が再生/停止するプログラム
端子P1を触ると音楽が流れて、もう一度端子P1を触ると、音楽が止まるというプログラムにしようと思います。どんなブロックを使いますか?正解は、【論理】ブロックの「もし〈真〉なら でなければ」ブロックを使います。【論理】をクリックして「もし〈真〉なら でなければ」ブロックをクリックして、「ずっと」ブロックにくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/83b65b997468fc5040724e3c9559062a381c964e.png)
では条件をつくっていきましょう。先ほど、端子P1、P2がタッチされたときに変数[音楽]の値を書き換えるプログラムをつくりましたよね。勘がいい人はわかるのではないでしょうか?
では、答え合わせをしていきましょう。【論理】ブロックの「(0)(=▼)(0)」をクリック。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/e79eb200241b451da3a45ca87ad092381d9ebf57.png)
左側に変数「音楽」、右側に「1」を入れ、「もし〈真〉なら でなければ」ブロックの〈真〉にくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/009f7ed341be305b9d94f3012c860d9cf14b13ee.png)
これで、「端子(P1)がタッチされたとき」の分岐ができました。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/0e7eae4421197583d6ea0b2900a2a7c5d9e43e5e.png)
同じように、「端子(P2)がタッチされたとき」の処理も行います。「でなければ」下のようなアイコンをクリックして、行を増やします。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/07dd12b21c0e946867bd7749bf458c3833f87d8e.png)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/b190aab581b55146c645a01decf42764af94513e.png)
「(変数)(=▼)(1)」をコピーして、(1)を(2)に変更して、先ほど増やした行にくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/9001cba5063ada5da8da67b06591005a477e41c2.png)
これで、「端子(P1)がタッチされたとき」「端子(P2)がタッチされたとき」それぞれの条件を分岐できました。さらに詳しい処理を書いていきます。
音楽を流す処理
「端子(P1)がタッチされたとき」に音楽を流したいと思います。「最初だけ」ブロックで使った、「変数(音楽)を(0)にする」をコピーしてそれぞれの条件分岐の下にコピーしましょう。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/169397c5d5589eaf22196ab24743fc1b7bc03cbf.png)
これは、「端子(P1)がタッチされたとき」に変数が「1」に変わり、処理が実行されるのですが、変数を「0」に戻さないと、ずっと1音目が鳴り続けてしまうのを防ぐためです。
いよいよ音楽を流すブロックを配置していきます。【音楽】をクリックして「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックをクリックして、「ずっと」ブロックの中「変数(音楽)を(0)にする」ブロック1個目の下にくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/bb7a4c7f5be7efcd42f8dad74e44eb2da141125b.png)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/135af2d22c920df50298a97608524025660a1fd8.png)
「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックの値を、「メロディを開始する(プレリュード)くり返し(ずっと)」と変更。くり返しを(ずっと)にすることで、ストップするまで音楽が流れ続けます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/877c5b23b9129eff9afa466d418fab4303f1f157.png)
音楽が流れている間、アニメーションを流してみます。音楽が流れている間はずっとアニメーションしたいので、ループのブロックを使います。
【ループ】をクリックして「もし(真)ならくりかえし」ブロックをクリックして、「ずっと」ブロックの中「メロディを開始する(プレリュード)くり返し(ずっと)」の下にくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/3754a4086a3b07801a481ebf130cc1943a7d9b30.png)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/8020746549ab26782899104400f0c25356516478.png)
次に条件を作成しますが、この時点では変数が0です。この条件を抜けるのは変数が1か、2の場合だけです。なので、変数が0の間であれば、アイコンを表示していいということです。「(音楽)=(0)」をつくってくっつけましょう。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/9271c3638558849735e0a3c086dd6d3205ce3037.png)
アイコンのブロックを用意。【基本】をクリックして「アイコンを表示」ブロックをクリックしてくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/96657ec82c16e619cf01760cdd8b3a19a45b1775.png)
音符のアイコンに変更して、複製して並べます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/8623f1db5b8043ba4de6b33e153fd0a844a275c3.png)
音楽をストップする処理
以上で、音楽を流す処理が終了しました。今度は音楽をストップする処理ですね。「ずっと」ブログ中「(音楽)=(2)」ブロックの下に処理を書いていきたいと思います。
メロディを止める場合は、同じメロディのブロックで、1度だけ音楽を流せば止まります。先ほどと同じようにメロディのブロックを用意します。【音楽】をクリックして「メロディを開始する(ダダダム)くり返し(一度だけ)」ブロックをクリックして、「ずっと」ブロックの中「変数(音楽)を(0)にする」ブロック2個目の下にくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/20a3ecfd88078de39e66311d39feafe2499cbecf.png)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/8e8e057b6c9da5ad8401f500938bf31a9a6c3302.png)
音楽は停止ボタンなので、短くてキレのいい(ピコーン!)をくり返し(一度だけ)にします。これで音楽が停止します。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/8e8e057b6c9da5ad8401f500938bf31a9a6c3302.png)
最後に停止したときに音符のアイコンを消してみましょう。アイコンを(×)にして、「メロディを開始する(ピコーン!)くり返し(一度だけ)」ブロックの下にくっつけます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/1432db3c50a1ce06af1efbd821264db1dfc20b64.png)
一番下の「でなければ」部分は今回使わないので、右にある(−)をクリックして削除。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/8a4f73b1e40f04e97d628ea702015093c861d2a9.png)
プログラムが正しく作成できたか確認
どうでしたか?プログラムが正しくつくれたか確認してみましょう。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/fa6ac61856172e71a14cd2e4f74b2e295521a13a.png)
左側のプレビューエリアで、動くかどうかチェックしてみましょう1の部分をクリックすると音楽が流れます。2の部分をクリックすると音楽が停止します。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/330e1f3c243e733ad3b0e8eddc6411ab3ff6e9f2.png)
ダウンロード
プレビューエリアでプログラムの動きが確認できたら、micro:bitにプログラムを書き込んでみましょう。画面下にある「名称未設定」と書かれた場所をクリックして、下記のように「ミュージックプレーヤー」とカタカナで入力してみましょう。その後、文字を入力した横の青いボタンをクリックして、プログラムのファイルをパソコンにダウンロード。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/6467d3b1df0618786936cc5f885f7fc436e054b3.png)
micro:bitとパソコンを接続して、ダウンロードした「microbit-ミュージックプレーヤー.hex」をmicro:bitに保存しましょう。もしやり方を忘れてしまった場合は、こちらの記事
を参考にしてくださいね。保存(書き込み)が完了すると、一度パソコンとの接続がきれて、プログラムが動き出します。一度電源を抜いて、下の配線図を参考にしてみましょう。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/76a716a58ca0cf067949d4984b2610eaa5299a15.png)
ダンボールを使ってミュージックプレーヤーのような形をつくってみましょう。アルミホイルを好きな形に3つ切り抜きます。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/cbd59658eb0c67ec595832f361e32f9166213f94_xlarge.jpg)
アルミホイル部分がスイッチなので、ノリを使ってしっかり貼り付けましょう。
- セロハンテープで貼り付けてしまうと、ボタンとして動かなくなる可能性があるので、必ずノリを使って貼り付けてください。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/5507ab4f8989941a20eacd83e04c18a11a330977_xlarge.jpg)
ダンボールにアルミホイルを貼り付けたら、配線を行います。図と写真を参考につないでみてください。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/76a716a58ca0cf067949d4984b2610eaa5299a15.png)
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/ceda8e732579683602d6ef50a0af74b262e0961a_xlarge.jpg)
GNDの部分は、難しいですが、写真のようにつないでみてください。
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/99a36d5a85a44729afac8ed92e915075a1021f98_xlarge.jpg)
遊び方
![](https://valedpress.chu.jp/prd-site/wp-content/themes/sango-theme/library/images/articles/beaaca4ec10f28703d1103cb44062ffb86f23c4b_xlarge.jpg)
音楽をスタートするときは、中央のボタンを押したまま、左側のスタートボタンを押します。ストップする場合は、中央のボタンを押したまま、右側のストップボタンを押します。
どうでしょうか?スタートをタッチすると音楽が流れて、LEDに音符のアニメーションが表示され、ストップをタッチすると、音楽が停止しましたか?
今回は、音楽が流れるブロックと、スピーカーやイヤホンをmicro:bitに取り付けて音楽を出してみました。そして、アルミホイルを使って触ってスタートやストップできるボタンを自作してみました。今日覚えたブロックを使えば、早押しゲームやもぐら叩きゲームなどもつくれます。ぜひ試してみてください。