|
发表于 2019-10-29 12:27:28
来自手机
|
显示全部楼层
Arduino示例教程模块版-4模拟声控路灯实验你在这里:首页Arduino 精品教程发表评论:Arduino 精品教程 实验采用OJ模拟声音传感器,驻极体检测声音大小,并经过放大电路输出模拟量。所以,检测声音的大小就与输出的模拟量成正比。实验中,我们采用模拟声音传感器循环检测外部音量,当超过一定值后,点亮LED,延时一段时间后,熄灭LED。这样模拟夜间楼道声控灯工作。 实验所需模块清单:Zduino UNO × 1;OJ传感器扩展板× 1;USB数据线 × 1 ;3p杜邦线 × 2 ;声音传感器模块 × 1 ;食人鱼LED模块 × 1 ;主要知识点:analogRead(PIN) 读取模拟输入值。这里的PIN只能是对应A0—A5 这种带ADC功能的引脚,数字引脚0—13则不能使用该函数。读取到的值是则是一个0~5V的电压值,而这里的模拟输入精度为10位,也就是2的10次方为1024,将0—5V伏对应映射到0—1023,所以analogRead(PIN)的返回值为0—1023中的一个值。通过这个值也可以换算为读取到的电压值。实验连接图食人鱼LED对应连接13号IO口。 声音传感器对应连接A0口。声音传感器输出的是一个模拟值,可以调节中间蓝色电位器来调节其检测灵明度。 Arduino示例程序:/*www.openjumper.com日期:2013.5.18IDE 版本:1.0.1功能:模拟声控灯开关状态,当音量超过设定值后,点亮LED,延时一段时间后熄灭*/int LEDpin = 13; //定义LED灯控制引脚void setup() { pinMode(LEDpin,OUTPUT);}void loop() { int Soundvalue = analogRead(A0); //读取输入模拟值 if(Soundvalue>20) { digitalWrite(LEDpin,HIGH); //当模拟值大于设定值后,点亮LED for(int i=0;i<20;i++){ delay(1000); //延时20s } } else{ digitalWrite(LEDpin,LOW); //关闭LED }}连线实物图:下载程序后,对声音传感器发出声响,LED灯便会自动打开,过20秒后,LED灯自动熄灭。 |
|