はじめに
組み込みRustで、マイク入力→FFT→LCD表示(周波数スペクトル)をしたいと思っている(組み込みRust本のターゲット変更版)のですが、その前段として、マイク入力の確認をRaspberryPi Picoにて行いました。
環境
ターゲット | RaspberryPi Pico |
---|---|
ホスト | Chromebook |
マイク | 高感度マイクアンプキット |
オシロスコープ | DSO-TC3 |
プログラミング言語 | CircuitPython |
ピン配
pico | マイク |
---|---|
VBUS(5V) | VCC |
ADC0(GP26) | OUT |
ADCVREF | GND |
オシロスコープはDSOからプローブを伸ばし、プローブはADC0とGNDに接続します。
ソースコード
github.com
ラズピコにあるADCを利用して、センサ値を得ます。分解能の調整が必要と思っています。
動作確認
オシロスコープでマイクセンサ値を観測しました。これをFFTしたら周波数取れますか?フィルター掛けたりなんか工夫しないと厳しそうなきがしますが、そっち方面で続けたいと思います。 pic.twitter.com/o4m14RQdBg
— YU2TA7KA (@Yu2Ta7Ka) 2024年1月6日
オシロスコープ(DSO-TC3)
アナログ入力の動作確認には、オシロスコープがあった方が良いですね。ハード寄りな電子工作にぐっと近づく感じもあります。DSO-TC3は以下特徴があり、買って良かったと思います。
- 1万円弱で入手可能
- AUTO機能(波形スケールを自動調整)搭載
- 小型、充電動作可能
- シグナルジェネレータ・部品テスター機能も搭載
おわりに
23年8月ごろから止まっていた電子工作活動に再着手することができました。ADC動作がよくわからず、今回オシロスコープを利用することで状態の可視化ができました。ここから分解能を調整し、FFTに必要なデータを確保できるようにしたいと思います。そして、FFTの実行を行い、出力というイメージです。ボタンもつけて、押下タイミングでプログラムを実行するようにした方がデバッグしやすそうな気がしています。ぼちぼちやっていけたらと思います。