今回は M5Atom Lite からマイクの値を取得して,グラフを描いたり,音の大きさに応じてLEDの明るさを変えてみました.
#M5Atom でマイクテスト#Arduino pic.twitter.com/tnW9e3tNhK
— botamochi6277 (@botamochi6277) May 12, 2021
使用したマイクは Amazon で買ったよくあるマイクとアンプがセットになったモジュールです.
このモジュールはアンプで増幅した信号をアナログ信号として出力します.無音の時にはVccの半分(Vcc が 3.3 V なら 1.615 V)の信号が出てきます.
配線は次の通りです.ポテンショメータの値をとる時と同じような配線になります.
M5Atom | Mic | |
---|---|---|
3.3V | — | VCC |
GND | — | GND |
G33 | — | OUT |
使用したコードはこちらになります.
コードの中身としては次のようになっています.
analogRead()
でマイクの値を読み取る (M5Atom のチップのESP32の場合は0–4096の値が返ってきます)map()
でLEDの光の強度magnitude
に変換(0–255)magnitude
を移動平均フィルタで平滑化- FastLED の
CHSV
クラスを使ってLEDに渡す色を設定 - 結果をシリアル通信で送信
コメント