Arduinoで以下のセンサを活用し周囲の音を数値化したいのですが使い方が全くわかりません。
簡単でいいのでサンプルコードを書いてくれたら幸いです。。。
試みたプログラムです。
⑤DATとA0を接続してます。
Arduino
1int a; 2 3void setup() { 4 Serial.begin(9600) ; 5 6void loop(){ 7 a = analogRead(0); 8 Serial.println(a); 9 delay(100); 10}
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答2件
0
ベストアンサー
デジタルマイクSPM0405HD4Hの出力は、PDM(Pulse Density Modulation:パルス密度)形式です。
PDMは、低い値の時にはパルスが時々出力され、値が高い時にはパルスが頻繁に出力されるというものです。
パルスを取り込めたとしても、それを正確にアナログ値に変換するにはDSP(デジタルシグナルプロセッサ)が必要で、Arduinoで処理するには荷が重いです。
PDM形式の信号は、PWM形式の信号と同様にローパスフィルターを通すことでアナログ値にすることが出来ます。
SPM0405HD4HのDATAピン -> ローパスフィルター -> アンプ -> Arduinoのアナログ入力ピン
SPM0405HD4HのCLKピン <- Arduinoのデジタル出力ピン
という配線をして、Arduinoのデジタル出力ピンにクロック信号を出しながら、アナログ入力ピンから値を読み取れば、音声信号データになると思います。
Arduinoからクロック信号を出すのが面倒くさいなら、発信回路の出力をCLKピンにつなぐ方法もあります。
また、どうせアナログ入力でデータを取るのなら普通のマイクを使うというのも有りでしょう。
投稿2018/04/06 05:07
総合スコア6921
0
気になったので本日、秋葉原に行って秋月で購入して試してみました。(夕方近くだったので急な天候の変化にも邪魔されましたが)
http://akizukidenshi.com/download/SPM0405HD4H.pdf を参考に”すんなり動くだろう”と考えながら。
参考にしたのはデジタルマイクSPM0405HD4Hがデジタルで動いた!
ですが、特に難しい部分はありませんでしたが。
まずはHPのソースを眺めて理解されながら試すのは如何でしょうか?
投稿2017/10/29 15:29
総合スコア3795
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。

