前回、モニタの明るさを検出するのに失敗し、今回は音を検出する形で作ってみた。
ブレッドボードでシリコンマイクとアンプの回路を組み、マイクロビットでアナログ値を読み出す。
整流したりしてアナログ的に音量の信号に変換しておかないといけないかと考えたが、結果としては、そのままの音声信号で検出できた。
0を電源の半分に持っていっているので、無音状態で大体512くらいになっているはず。そこから上下に振れる感じになる。
検出の閾値は適当に600としてみた。
マイクの周辺で音が鳴ると、LED画面に四角が表示される。1秒で消えて、また検出を再開する。
とりあえず手を叩く音はきっちりと検出できていた。
ちなみに、ループから抜けるときの"break"の入力方法がわからなかった。仕方なくスクリプトの方で入力すると、ブロックの方ではそのまま表示された。