如何用掌声和Arduino控制LED

今日头条

1142人已加入

描述

声控装置是很有趣的传感系统,如梦幻街景、LED显示屏、LED灯串、声控马达、卧室壁灯,走廊路灯等。本项目采用KY-038传感器模块和Arduino开发板,通过拍手、尖叫等声音来控制LED及亮度等,希望能够抛砖引玉。

l声控LED是梦幻街景、LED显示屏、LED灯串、声控马达的基础

物料BOM

本项目材料清单包括:Arduino Uno开发板、KY-038声音传感器模块、USB线缆、1K上拉寄存器、LED、面包板各一个,公转母跳线5个。

项目原理图

KY-038模块是一款高感度的声音传感器子系统,有AO(模拟输出)、DO(数字输出)、G(接地)、+ VCC电源四个引脚。

lDIY核心材料:KY-038模块(上)及Arduino uno开发板(下)

KY-038模块使用5V直流电源供电,工作电压3.3V-5V,尺寸3.2cm * 1.7cm,AO输出实时麦克风电压信号,DO输出阀值翻转电平(0和1),输出灵敏度高,可以用来检测周围环境的声音强度。主要用途及功能:
(1)对环境声音强度最敏感,用来检测周围环境的声音强度。
(2)在环境声音强度达不到设定阈值时,OUT输出高电平,当外界环境声音强度超过设定阈值时,模块OUT输出低电平。
(3)小板数字量输出OUT可以与Arduino uno直接相连,通过单片机来检测高低电平,由此来检测环境的声音。
(4)小板数字量输出OUT能直接驱动继电器模块,由此可以组成一个声控开关。

电路连接

KY-038传感器模块内置一个对声音敏感的电容式驻极体话筒,将我们的拍手声音等转化成与之对应的微小电压信号,再放大器转化成0-5V电压,经过A/D转换被数据采集器接受,最后传送给Arduino uno进行处理。

l项目连接示意图

项目要将KY-037声音检测模块与Arduino连接起来,我们要将传感器模拟输出(AO)连接到Arduino开发板,模块DO端接到Arduino uno数字口3脚。当环境声音强度达不到设定阈值时,DO输出高电平,12脚LED低电平灯灭;当环境声音强度超过设定阈值时,DO输出低电平,12脚LED高电平灯亮。

Arduino代码例程如下:

int soundSensor=2;
int LED=4;
boolean LEDStatus=false;

void setup() {
pinMode(soundSensor,INPUT);
pinMode(LED,OUTPUT);

}

void loop() {

 int SensorData=digitalRead(soundSensor); 
 if(SensorData==1){

   if(LEDStatus==false){
       LEDStatus=true;
       digitalWrite(LED,HIGH);
   }
   else{
       LEDStatus=false;
       digitalWrite(LED,LOW);
   }
 }
}

注意,项目中KY-038输出的模拟信号大小取决于电位器的电阻值,你可以调节电位器阻值来控制传感器的信号放大倍数,用拍手、尖叫等声音轻松控制LED亮度。

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • l
  • A

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分