本帖最后由 YUMENGDIE 于 2020-8-15 16:56 编辑
目标
1、串口打印读取声音传感器的模拟输入数字 2、声音传感器控制点亮LDE灯,当声音较大时LED灯亮起,声音较小时LED灯保持熄灭状态
实验材料
Arduino UNO开发板 声音传感器模块 LED发光模块 配套USB数据线 配套杜邦线若干 Arduino IDE软件
内容
声音传感器控制点亮LDE灯,当声音较大时LED灯亮起,声音较小时LED灯熄灭。
接线图
接线方式
Arduino UNO <------> 声音传感器模块 5V <------> VCC GND <------> GND A1 <------> OUT Arduino UNO <------> LED发光模块 5V <------> VCC GND <------> GND D7 <------> IN
串口打印读取声音传感器模块的模拟输入值
程序实现代码
- void setup(){
- Serial.begin(9600);
- }
- void loop(){
- Serial.println(analogRead(A1)); //串口监视器打印显示声音传感器的模拟输入值
- delay(1000); //延迟等待1秒
- }
复制代码
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灯保持熄灭状态。
程序实现代码
- void setup(){
- pinMode(7, OUTPUT); ///定义7号数字管脚类型为输出
- }
- void loop(){
- if (analogRead(A1) > 100) { //声音传感器模拟输入数值大于100
- digitalWrite(7,HIGH); //7号数字输出管脚为高电平,LED灯被点亮
- delay(2000); //延迟等待2秒
- } else {
- digitalWrite(7,LOW); //7号数字输出管脚为低电平,LED灯保持熄灭状态
- }
- }
复制代码
|