新しいマイクロビット(micro:bit v2.0)はv1.5にあった機能に加えて、マイク、スピーカー、省エネモード、タッチロゴが追加されました。
今回は、マイクの機能とマイクを使った簡単なプログラムを紹介します。
マイクで音量を測ることができる
マイクは、音を入力する装置です。
マイクがアクティブになると表面にあるマイクのLEDが光り、LEDのすぐ左側にある小さな穴で音をひろいます。
マイクロビットのマイクは音を感知し、音量を測り、音の大きさを0~255の範囲で返します。
値が大きいほど大きな音です。
また、まったく音がしない状態も検出します。
身の回りで使われている例
- スマホ
- AIスピーカー
- マイク付きヘッドフォン
AIスピーカーを通じて音声で操作できる家電もふえました。
拡張機能「audio-recording」で録音できる
2023年6月のアップデートで、マイクから音声を録音することができるようになりました。
1.「拡張機能」をクリック
2.「audio-recording」を選ぶ
ツールボックスにRecordが追加されます。
- 「record audio clip」ブロック
音声を録音する(最大3秒)
until done:終了まで、in background:バックグラウンドで - 「play audio clip」ブロック
録音した音声を再生する
until done:終了まで、in background:バックグラウンドで
録音できる秒数が最大3秒と短いですが、友達や家族とのちょっとしたコミュニケーションに使えそうですね。
録音・再生するプログラムの例。
今回のプログラム:音の大きさを棒グラフで表示する
- ずっとまわりの音の大きさを棒グラフで表示する。
- うるさくなったとき、ピコーン!と音がする。
MakeCodeエディターでプログラミング
MakeCode(メイクコード)エディターの画面を開いて、実際にプログラミングしてみましょう。
MakeCodeエディターの基本的な使い方は、「【マイクロビット】MakeCode(メイクコード)エディターの使い方」にまとめています。
プログラム
プログラムで使用したマイクに関するブロックを紹介します。
うるさいかどうかのしきい値を128に設定する
「うるさいかどうかのしきい値を128に設定する」ブロックは、「うるさいかどうか」または「静かかどうか」のしきい値を設定するブロックです。
入力の下にあるその他カテゴリにあります。
しきい値とは、さかい目になる値のこと。
まわりの音の大きさがしきい値以上の場合は「うるさい」、まわりの音の大きさがしきい値以下の場合は「静か」と判断します。
何も設定しなかった場合、「うるさいかどうか」のしきい値は165、「静かかどうか」はしきい値は86になっています。
まわりの音の大きさ
入力カテゴリにある「まわりの音の大きさ」ブロックは、マイクに入ってきた音量を取得し、0~255の範囲で返します。値が大きいほど大きな音です。
今回のプログラムでは、LEDのカテゴリにある「棒グラフを表示する」ブロックを使って「まわりの音の大きさ」を棒グラフで表示するようにしました。
「棒グラフを表示する」ブロックは、グラフにする「値」と「最大値」を設定し、25個のLEDを目盛りに見立てて表示します。(ひと目盛りの大きさは最大値の25分の1です。)
まわりの音がうるさくなったとき
「まわりの音がうるさくなったとき」ブロックは、「うるさいかどうか」のしきい値以上の音量を感知した時に、中にあるプログラムを実行するイベントブロックです。
「静かかどうか」の場合は、しきい値以下の音量を感知した時、中にあるプログラムを実行します。入力カテゴリにあります。
まわりの音がうるさくなったとき、音楽カテゴリにある「メロディーを開始するブロック」を使ってメロディー(ピコーン!)を鳴らすようにしました。
シミュレーターで確認
プログラムが完成したら、シミュレーターで思った通りに動くかテストしましょう。
LEDの右に出てきた音量のコントローラーを上下にドラッグすることで、音量を上げ下げできます。
実機でテストしてみよう
シミュレーターで確認できたら、マイクロビットに転送して実際に動かしてみましょう。
マイクに向かって、大きな音をたててみてください。
まとめ
マイクロビットのマイクの機能と、マイクを利用した簡単なプログラムを紹介しました。
マイクを使えば、マイクロビットとつないだ機器を、音で動かすプログラムも作れそうですね!
他のマイクロビットの機能もまとめています。よかったらこちらもご覧ください。