ステップ1: 作る
説明
拍手などの大きな音が続いた時間を、新型micro:bit に内蔵のマイクで測ってみましょう。
はじめに
プログラミングガイド
学ぶこと
- マイクでとらえた音の大小でイベントを発生させる方法
- micro:bit に内蔵されているタイマーの使い方
- 音の大小を区別する「しきい値」を設定する方法
動作の仕組み
- プログラムのはじめに、大きな音(うるさくなった)と小さな音(静かになった)を分ける「しきい値」(境目になる値)になる数を設定します。 分ける境目を大きな音にしたければ、しきい値を大きくし、小さな音にしたければ、しきい値を小さくします。 しきい値は 0 から 255 までの任意の数にできます。
- 変数 start を 0 に設定します。 この変数は、大きな音がいつ始まったか記録するために使います。
- マイクが大きな音を捉えたら、micro:bit の現在の稼働時間を変数 start に設定します。そしてLED ディスプレイにアイコンを表示して、タイマーがスタートしたと分かるようにします。
- 稼働時間とは、micro:bit がプログラムを実行している時間をミリ秒(千分の1秒)単位で測っているものです。
- 大きな音が止むと、「静かになった」のイベントが発生します。
- 大きな音(うるさくなった)のイベントでタイマーがスタートしていれば、変数 start が 0 より大きく(>)なっているはずです。 そうであれば、変数 time に、現在の稼働時間から start の時間を引いたものを設定します。 これで大きな音がどれぐらいの時間続いたのかが分かります。
- 時間はミリ秒単位で測っているので、プログラムではそれを 1000 で割って秒単位に変換してから LED ディスプレィに表示します。
必要なもの
- micro:bit
- MakeCodeまたはPythonエディター
- バッテリーパック(オプション)
ステップ2: プログラムする
ステップ3: 改善する
- 大きな音と小さな音を分けるしきい値を変更して試してみて、最適な値を見つけましょう。
- 拍手の大きさ測れるように、サウンドロガーのプロジェクト にあるコードを追加してみましょう。
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.