概要
音センサを購入したので試してみました。
部品
音センサ:KY_038/KY_037
49円
表示機:TM1637が組み込まれた7セグLED
73円
コンピュータ:Arduino UNO互換機
699円
配線

ソースコード
アナログ信号を受け取り、10回の平均を表示するようにしています。
# include <Arduino.h>
# include <Wire.h>
# include <TM1637Display.h>
# define SERIAL_BAUD 115200
# define CLK 2
# define DIO 3
TM1637Display display(CLK, DIO);
# define KY_03x_LEN 10
int KY_03xs[KY_03x_LEN] = {0,0,0,0,0,0,0,0,0,0};
int KY_03xs_idx = 0;
void setup() {
Serial.begin(SERIAL_BAUD);
while(!Serial) {}
uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
display.setBrightness(0x0f);
display.setSegments(data);
delay(1000);
}
void loop() {
int ave = 0;
int KY_03x;
KY_03xs_idx++;
if(! (KY_03x_LEN > KY_03xs_idx) )
KY_03xs_idx = 0;
KY_03xs[KY_03xs_idx] = analogRead(A0);
for(int i=0 ; i<KY_03x_LEN;i++){
ave+=KY_03xs[i];
}
ky_03x = ave/KY_03x_LEN;
display.showNumberDec(ky_03x, false);
Serial.print("ky_03x: ");
Serial.print(ky_03x);
delay(100);
}