MEMS マイクロフォンを使って、スピーカから流れる音を直接拾い、モールスを解読してみました。
スピーカからダイレクトで音を拾って解読する
これまでのオーディオケーブルを使う方法に追加して、MEMS マイクロフォン(AI スピーカなどで使われてるやつ)で音を直接拾って解読できるようにしました。
@約300円・・・毎度の AliExpress なんで、バッタもんかもしれません。
ADMP401 の MEMS マイクボードの端子は3本だけです。
このボードは 3.3V 仕様なので、M5Stack 側もこれに合わせて 3.3V の端子へ接続します。
マイク出力の AUD 端子はアナログ信号なので、M5Stack 側もアナログ端子(35ピン)に接続して、A/Dコンバータの値としてプログラムで読み込みます。
マイク出力のアナログ値は analogRead()
関数を使って読みます。
今回は、「Learning Morse」を使って、パソコンから流れる数字(1から0まで)の連続を解読してみました。これを試すのは前回の投稿以来です。しかし、その間プログラムは一切触っていません。結果として、モールス符号の速度が 20wpm を超えたあたりから誤字が多く現れ、思うような結果にはなりませんでした。改善の余地を見つけるために、今後も引き続き試行錯誤を続けていきたいと思います。
Arduino Nano では 30 wpm でもちゃんと解読してくれたのですが・・・
M5Stack はその高性能さで Arduino とは比較にならないほどです。しかし、LCDやスイッチなど全ての機能が組み込まれているため、何らかのファームウェア処理において負荷が増える部分があるかもしれません。
とはいえ、さまざまな試みに挑むことでその可能性を引き出したいと思います。