LESSON 041
高感度音声センサモジュールで音を感知する
○ 今回は高感度音声センサモジュールについてを説明します。
コイルに電流が流れると磁石が動きます。 これが、スピーカー
これを利用すると、マイクやスピーカーになります。
![](https://www.msyoukai.com/wp-content/uploads/2022/12/93-002-300x194.png)
![](https://www.msyoukai.com/wp-content/uploads/2022/12/93-001-300x130.png)
○ 高感度音声センサモジュール KY-037 を使用します。
モジュールにはデジタル/アナログ出力の2つの出力があります。
AO:アナログ出力、マイク電圧信号のリアルタイム出力
DO:音の強さが特定のしきい値に達すると、高レベルと低レベルの信号を出力します。
しきい値感度はポテンショメータで調整します。
![](https://www.msyoukai.com/wp-content/uploads/2022/12/IMG_E5434-300x189.jpg)
リンク
目 次
-
- 構成部品
- 配線図
- スケッチ
- 結果
- まとめ
構成部品
Arduino
USBケーブル
高感度音声センサモジュール
ブレッドボード
ジャンパー線
配線図
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
GPIO 9 ⇒ DO
5V ⇒ ✚
GND ⇒ GND
GPIO A0 ⇒ AO
![](https://www.msyoukai.com/wp-content/uploads/2022/12/93-003-237x300.png)
GPIO 9 ⇒ DO
5V ⇒ ✚
GND ⇒ GND
GPIO A0 ⇒ AO
![](https://www.msyoukai.com/wp-content/uploads/2022/12/93-006-2-scaled-e1670291033647-276x300.jpg)
![](https://www.msyoukai.com/wp-content/uploads/2022/12/93-006-1-scaled-e1670291122630-300x155.jpg)
スケッチ《 test033》
int sensoranalog = A0;
int sensorD = 0;
int sensordigital= 9;
int digitalD;
void setup()
{
pinMode(sensordigital,INPUT);
Serial.begin(9600);
}
void loop()
{
sensorD = analogRead(sensoranalog);
Serial.print(" アナログ値 : ");
Serial.print(sensorD, DEC);
Serial.print(" デジタル値 : ");
digitalD=digitalRead(sensordigital);
if(digitalD==HIGH)
{
Serial.println("HIGH");
}
else
{
Serial.println("LOW");
}
}
リンク
解説
- void loop() 内
アナログデータ
sensorD = analogRead(sensoranalog);
Serial.print(“ アナログ値 : “);
Serial.print(sensorD, DEC);
DEC 10進数デジタルデータ
digitalD=digitalRead(sensordigital);
if(digitalD==HIGH)
{
Serial.println(“HIGH”);
}
else
{
Serial.println(“LOW”);
}
まとめ
〇 今回はアナログ・デジタルの両方を出力しましたが、必要な方を選択して下さい。
○ ポテンショメータを調整することで必要な値が得られますが、ある程度音声が長くないと反応しません。手を叩いて「パン」と鳴らしてもほぼ反応しませんでした。
(性能のいいセンサなら反応するかもしれませんが 私の感想です。)
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。