Arduino提高篇(十一)烟雾传感器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模拟量,当气体浓度高于设定的阈值时,输出报警提示。我们可以配合使用声光报警器等设备,制作家用烟雾监测仪器。

Arduino学习交流探讨群:745056438

更多内容,欢迎关注我的公众号。 微信扫一扫下方二维码即可关注:

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值