見出し画像

micro:bitとGROVE Inventor Kitを使ったものづくり入門(5) スピーカー編

この記事はmicro:bitの基本的な使い方をすでに学習した人が、GROVE Inventor Kitを使ってステップアップするためのものです。前回の記事では超音波距離センサーを紹介しました。今回は最も登場頻度が高いモジュールの1つであるスピーカーを紹介します。
前回の記事はこちらです。
(この記事はものゼミのために執筆しています。)

スピーカーで音を鳴らしてみよう

スピーカーを接続することで、シミュレータでしか流せていなかった音楽や音を実際にmicro:bitから再生することができます。
まずはGROVEシールドにスピーカーを接続しましょう。
スピーカーは必ずP0/P14端子に接続しましょう。
また、接続の際はmicro:bitの電源を必ず切りましょう。

画像1

次に単純な音の再生として、ドの音(C音)を鳴らしてみます。
ずっと鳴らし続けるringToneというメソッドと、時間を指定して鳴らすplayToneというメソッドが用意されています。
それぞれの使い方は以下の通りです。

スクリーンショット 2020-06-19 22.47.43

これをシミュレーションで実行すると、シミュレーション上のmicro:bitにスピーカーが接続されて、ブラウザから音がなります。
先ほどringToneはずっと音を鳴らすと紹介したのですが、実はこの図のプログラムでは2秒間しか音がなりません。
これはringToneの後にplayToneなど他の音を鳴らすメソッドを呼び出すと上書きされるためです。
他の音を鳴らすメソッドで上書きしない場合、ringToneは呼び出したあとはshowStringなど他の処理をしても止まりません。

スクリーンショット 2020-06-19 22.54.02

音の指定には今回はNote.Cを用いました。
"Note."まで入力するとエディタの補完で一覧が出てきますが、Noteを使うことで簡単に音の指定をすることができます。
CというのはC4と同じ意味になっていて、他のオクターブを鳴らしたい時は英字の後に数字をつけます。CSharp3や、Eb3のように、シャープやフラットも指定することができます。
この音の記述の仕方は後ほどメロディのところでも使うので頭に入れておきましょう。

ビルトインのメロディを鳴らしてみよう

micro:bitで音楽を鳴らそうとするときに、いちいちplayToneを使っていたのでは大変です。
そこでmicro:bitでは音楽を流すためのメソッドと、多くのビルトインの音楽が用意されています。
早速音楽を流してみましょう。

スクリーンショット 2020-06-19 23.07.51

このプログラムを動かすと分かるのですが、このstartMelodyで曲を流し始めると、他の処理をしている間も曲を流してくれます。曲を止めたい場合は、stopMelodyというメソッドを呼び出します。()の中はおまじないだと思って書いてください。

スクリーンショット 2020-06-19 23.14.36

自分だけのメロディを作ろう!

micro:bitでは自分のメロディも曲として作ることができます。
リストを用いて、”音の種類:音の長さ”を並べていくことで作っていきます。
早速、例を見てみましょう。

スクリーンショット 2020-06-19 23.39.29

今回は音量とテンポの指定も行いました。音量とテンポの変更はビルトインのメロディに対しても行うことができるので使ってみましょう。
また音の長さの指定をしていない音については、1つ前の音と同じ長さになるようになっています。

実際にこれをmicro:bitに書き込むとこのように音が流れます。

動画では1回きりで止めていますが、このようにMelodyOptionsを指定することでずっと流し続けることもできます。

スクリーンショット 2020-06-19 23.49.21

もし音が再生されてない場合は、
・白い端子を接続したピンを正しく指定したか
・白い端子は奥までささっているか
・micro:bitはGROVEシールドに奥までささっているか
・音量は0にしていないか
・メロディのリストが空になっていないか
を確認してみましょう。

今回はスピーカーの紹介をしました。
実は紹介していないメソッドもあるのですが、今回紹介したもので大体の機能は実現できるかと思います。
工夫していろいろな音を鳴らしてみましょう。
次回は回転センサーを紹介します。

この記事が気に入ったらサポートをしてみませんか?