烦人老头
Yanglibin@microduino.cc(讨论 | 贡献)2015年9月8日 (二) 11:24的版本
Language | English |
---|
目的受不了吵闹的老头,一听到大的响动就就会报警,按开关停止报警。 原理通过MIC声音检测传感器来检测鼓掌声音大小,当超过预设的声音大小时,开始计时,计时之后声音还是大,防止干扰,一定时间内持续保持声音超过预设值才认为是噪音,蜂鸣器开始报警。同时系统检测按键是否按下,当按键按下时,关闭蜂鸣器报警。 设备
准备
程序说明
#define mic_pin A0
#define buzzer_pin 6
#define key_pin 4
#define voice 400
if (voice_data > voice)
{
if (millis() - time > 500 )
{
voice_data = analogRead(mic_pin);
if (voice_data > voice)
{
buzzer_speak = true;
i = 200;
}
time = millis();
}
}
if (key_get(key_pin, 0))
{
delay(200);
buzzer_speak = false;
time = millis();
}
if (key_get(key_pin, 0))
{
delay(200);
buzzer_speak = false;
time = millis();
}
if (buzzer_speak)
buzzer();
else
noTone(buzzer_pin);
搭建硬件
结果对着声音检测传感器吼叫,一定时间内持续保持声音,蜂鸣器就会报警,按开关停止报警。 视频 |