“鼓掌热度仪”的版本间的差异
853387039@qq.com(讨论 | 贡献) |
|||
第4行: | 第4行: | ||
| | | | ||
==目的== | ==目的== | ||
− | + | 检测鼓掌声音,声音持续时间越长,灯光亮度越强。当灯到最亮时,蜂鸣器报警提醒。[[File: Applause_heat.jpg|600px|center]] | |
[[File: Applause_heat.jpg|600px|center]] | [[File: Applause_heat.jpg|600px|center]] | ||
==原理== | ==原理== | ||
− | + | 通过MIC声音检测传感器来检测鼓掌声音大小,当超过预设的声音大小时,开始计数,时间越长数据越大,与此同时灯光的颜色也越来越亮了。当达到一定值的时候,灯光亮度达到最大值,蜂鸣器开始报警。同时系统隔3S检测声音,当无声音是,关闭灯光和蜂鸣器报警。 | |
[[File: Applause_heat-sch.jpg|600px|center]] | [[File: Applause_heat-sch.jpg|600px|center]] | ||
2015年9月8日 (二) 07:00的版本
Language | English |
---|
目的检测鼓掌声音,声音持续时间越长,灯光亮度越强。当灯到最亮时,蜂鸣器报警提醒。原理通过MIC声音检测传感器来检测鼓掌声音大小,当超过预设的声音大小时,开始计数,时间越长数据越大,与此同时灯光的颜色也越来越亮了。当达到一定值的时候,灯光亮度达到最大值,蜂鸣器开始报警。同时系统隔3S检测声音,当无声音是,关闭灯光和蜂鸣器报警。 设备
准备
程序说明
#define PIN 4
Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, PIN, NEO_GRB + NEO_KHZ800);
#define mic_pin A0
#define buzzer_pin 6
#define voice 400
if (voice_data > voice)
{
num++;
if (num > 255)
{
num = 255;
buzzer();
}
colorWipe(strip.Color(num, 0, 0));
//delay(10);
Serial.println(num);
time = millis();
}
if (millis() - time > 3000 )
{
voice_data = analogRead(mic_pin);
if (voice_data < voice)
{
colorWipe(strip.Color(0, 0, 0));
num = 10;
noTone(buzzer_pin);
}
time = millis();
}
搭建硬件
如果模块不能正常工作,请尝试断开并重新连接电源。 结果鼓掌声音越大,灯光亮度越强,当灯到最亮时,蜂鸣器报警提醒。当声音低于预设值,延时3S关闭灯光和蜂鸣器。你也可以通过乐高搭建一个漂亮的外观。 视频 |