科技爱好者博客

Arduino使用MQ-9模块检测有害气体

一氧化碳气体有毒,毒性比较大,如果发生中毒,抢救不及时会导致死亡,并且由于它无色无味,等到自己反应过来时,一般已经晚了。新闻中多次报导因为一氧化碳中毒死亡的案例,农村地区冬季有架火炉的习惯,城市中使用的煤气热水器,都存在一氧化碳中毒的隐患。本文使用Arduino和MQ-9有害气体传感器来检测有害气体,当有害气体超标时报警,从而提醒人们,防止中毒。以下是教程。

一、MQ-9有害气体传感器介绍

MQ-9气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)检测可燃气体甲烷、丙烷并清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。 MQ-9气体传感器对一氧化碳、甲烷、液化气的灵敏度高,这种传感器可检测多种含一氧化碳及可燃性的气体,是一款适合多种应用的低成本传感器。

模块长这个样子:

MQ-9一氧化碳模块 可燃气体传感器检测报警模块正面
MQ-9一氧化碳模块 可燃气体传感器检测报警模块背面

模块有4个引脚,分别是VCC、GND、AO、DO,VCC连接5V电源,GND接地,AO为检测值模拟输出,DO为模块数字输出。

二、模块使用

硬件连接

VCC  —— 5V

GND —— GND

AO  —— Arduino 的模拟输入引脚A0

DO  —— Arduino 的数字输入输出引脚 2

程序设计

MQ-9模块AO连接到Arduino 的模拟输入引脚A0 ,通过测量A0的电压值从而判断检测到有害气体的浓度。

该模块可以调节检测的灵敏度,当有害气体浓度超过设定值时,模块的DO引脚会输出低电平,未超过设定值,引脚输出高电平,所以通过检测DO引脚的电平值,也可以判断当前有害气体是否超标。

三、代码

代码如下:


int mqAPin=A0;
int mqDPin=2;
int mqBite=0;
int  mqVal=0;
float mqVot=0;

void setup(){
Serial.begin(9600);
pinMode(mqAPin, INPUT);
}

void loop(){
mqVal = analogRead(mqAPin);

//  将ADC输出值转换为模拟电压值
mqVot = mqVal*0.0049;   
Serial.println(mqVot);

mqBite = digitalRead(mqDPin);
if (mqBite == 1){
  Serial.println("一氧化碳浓度正常!");
  }
else{
    Serial.println("一氧化碳浓度超标!!!");
    }
    
delay(1000);
}

串口同时输出一氧化碳的浓度和是否超标情况。

原创文章,转载请注明: 转载自科技爱好者博客

本文链接地址: Arduino使用MQ-9模块检测有害气体 (https://www.tujing.site/4653)

如果博客对您有帮助,请给我 赞助


退出移动版