本帖最后由 hanreng 于 2020-7-2 11:39 编辑
第14课 智能声控灯实验案例
目标
1、认识声音传感器 2、串口打印读取声音传感器的模拟输入值 3、声音传感器控制点亮LDE灯,当声音较大时LED灯亮起,声音较小时LED灯保持熄灭状态
实验材料
Arduino UNO开发板, 配套USB数据线 配套杜邦线若干 Mixly软件 配套LED灯模块 配套声音传感器模块
内容
接线方式
Arduino UNO开发板 <------> LED发光模块 3V3/5V <------> VCC GND <------> GND 7 <------> IN
Arduino UNO开发板 <------> 声音传感器模块 3V3/5V <------> VCC GND <------> GND A1 <------> OUT
声音传感器
声音传感器是一种可以以检测环境中声音强度的传感器,其工作原理是:传感器内置一个对声音敏感的电容式驻极体话筒,声波使话筒内的驻极体薄膜振动,导致电容发生变化,从而产生与之对应变化的微小电压,这个电压随着被转化为0~5V的电压,并经过A/D转换(即模/数转换,通过一定的计算方法,将模拟量转化为一定进制的数字量)被数据采集器接受,输出模拟电压值。因此,只需要采集模拟电压就可以读出声音的幅值,判断声音的大小。
Mixly模块——声控延时灯
串口打印声音传感器
串口通信是一种常见的设备通信协议,它使用三根数据线完成通信,分别用作地线、发送和接收。串口通信中同一根线上的双方,一方在发送的同时另一方在接收,所以手发双方的速度必须一样在串口通信中,1秒内传输的码元个数被称为波特率,用于表示数据传输的快慢,Mixly中默认的波特率是9600。
通过串口监视器可观察发现到,声音越大,数值越大,声音越小,数值也就越小。
编程思路
运用比较运算符中的大于等于符号,如果左边大于或等于右边,则条件成立。
以检测到的数值80为分界点,如果声音传感器检测到的音量数值小于80,说明声音比较小,LED灯处于熄灭状态,反之,大于80,LED灯亮起,并且延时3秒。
|