找回密码
 立即注册

QQ登录

只需一步,快速开始

本帖最后由 YUMENGDIE 于 2020-8-15 16:56 编辑

14课 智能声控灯实验案例


目标

1、串口打印读取声音传感器的模拟输入数字
2、声音传感器控制点亮LDE灯,当声音较大时LED灯亮起,声音较小时LED灯保持熄灭状态

实验材料

Arduino UNO开发板
声音传感器模块
LED发光模块
配套USB数据线
配套杜邦线若干
Arduino IDE软件

图片3.png

内容

声音传感器控制点亮LDE灯,当声音较大时LED灯亮起,声音较小时LED灯熄灭。

接线图

图片2.png

接线方式

Arduino UNO     <------>   声音传感器模块
         5V              <------>              VCC
        GND           <------>              GND
         A1             <------>              OUT
Arduino UNO    <------>     LED发光模块
        5V             <------>               VCC
      GND            <------>              GND
       D7              <------>                IN

串口打印读取声音传感器模块的模拟输入值

程序实现代码

  1. void setup(){
  2.   Serial.begin(9600);
  3. }
  4. void loop(){
  5.   Serial.println(analogRead(A1));  //串口监视器打印显示声音传感器的模拟输入值
  6.   delay(1000);   //延迟等待1秒
  7. }
复制代码

analogRead()

用于从Arduino的模拟输入引脚读取数值,Arduino控制器有多个10位数模转换通道,这意味着Arduino可以将0-5伏特的电压输入信号映射到数值0-1023。换句话说,我们可以将5伏特等分成1024份,0伏特的输入信号对应着数值0,而5伏特的输入信号对应着1023。
Arduino控制器读取一次模拟输入需要消耗100微秒的时间(0.0001秒)。控制器读取模拟输入的最大频率是每秒10,000次。
注意:在模拟输入引脚没有任何连接的情况下,用analogRead()指令读取该引脚,这时获得的返回值为不固定的数值,这个数值可能受到多种因素影响,如将手靠近引脚也可能使得该返回值产生变化。

语法

analogRead(pin)

参数

pin:被读取的模拟引脚号

返回值

0到1023之间的值

声音传感器控制点亮LDE灯,当声音较大时LED灯亮起2秒,声音较小时LED灯保持熄灭状态。

程序实现代码

  1. void setup(){
  2.   pinMode(7, OUTPUT);  ///定义7号数字管脚类型为输出
  3. }
  4. void loop(){
  5.   if (analogRead(A1) > 100) {   //声音传感器模拟输入数值大于100
  6. digitalWrite(7,HIGH);    //7号数字输出管脚为高电平,LED灯被点亮
  7. delay(2000);   //延迟等待2秒
  8.   } else {
  9.     digitalWrite(7,LOW);  //7号数字输出管脚为低电平,LED灯保持熄灭状态
  10. }
  11. }
复制代码


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册