Arduino提高篇11—烟雾传感器MQ-2
2019-12-04 本文已影响0人
TonyCode
烟雾传感器MQ-2
MQ系列传感器是使用非常广泛的低成本传感器,广泛应用于家庭或工厂的气体泄漏监测装置。本篇介绍MQ家族中的MQ-2烟雾传感器的使用,其他MQ传感器使用都是相类似的。
1. MQ系列传感器工作原理
MQ系列传感器使用的敏感材料是活性很高的金属氧化物半导体,传感器加热后,在不同气体浓度中电导率不同。使用简单的电路就可以将电导率的变化转换成与该气体浓度相对应的信号输出了。
2. 烟雾传感器模块介绍
MQ-2传感器对可燃气、烟雾等气体灵敏度高,基于MQ-2的烟雾传感器模块通过电路设计,提供了两种输出方式:
- 数字量输出:通过板载电位器设定浓度阈值,当检测到环境气体浓度超过阈值时,通过数字引脚DO输出低电平。
- 模拟量输出:浓度越高,AO引脚输出的电压值越高,通过ADC采集的模拟值越高。
需要注意的是,传感器通电后,需要预热20秒左右,测量的数据才会稳定。由于传感器工作时需要内部电热丝加热,所以传感器发热属于正常现象。
3. 实验材料
- Uno R3开发板
- 配套USB数据线
- 面包板及配套连接线
- MQ-2烟雾传感器模块
4. 实验步骤
1. 根据原理图搭建电路图。
烟雾传感器模块的VCC、GND分别连接到开发板的5V、GND。模块的AO引脚连接到开发板的模拟引脚A0,模块的DO引脚连接到开发板的数字引脚2。
实验原理图如下图所示:
实验原理图实物连接图如下图所示:
实物连接图2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
/*
MQ-2烟雾传感器的使用
*/
#include <Arduino.h>
#define Sensor_AO A0
#define Sensor_DO 2
unsigned int sensorValue = 0;
void setup()
{
pinMode(Sensor_DO, INPUT);
Serial.begin(9600);
}
void loop()
{
sensorValue = analogRead(Sensor_AO);
Serial.print("Sensor AD Value = ");
Serial.println(sensorValue);
if (digitalRead(Sensor_DO) == LOW)
{
Serial.println("Alarm!");
}
delay(1000);
}
3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。
程序下载5. 实验现象
打开串口监视器,波特率设置成与程序中相一致的9600。监视器中将显示AO引脚输出电压对应的ADC模拟量,当气体浓度高于设定的阈值时,输出报警提示。我们可以配合使用声光报警器等设备,制作家用烟雾监测仪器。
实验现象