【雕爷学编程】Arduino动手做(25)——MQ-2甲烷一氧化碳气敏式烟雾传感器模块2

本文主要是介绍【雕爷学编程】Arduino动手做(25)——MQ-2甲烷一氧化碳气敏式烟雾传感器模块2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来—小小的进步或是搞不定的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二十五:MQ-2气敏式烟雾传感器模块(甲烷 液化气可燃气体)酒精氢一氧化碳可燃液化传感器模块探头

在这里插入图片描述
在这里插入图片描述

MQ2气敏传感器模块电原理图

在这里插入图片描述
在这里插入图片描述

第一步:给模块供5V直流电(注意正负极别接反,否则容易烧毁芯片)。

第二步:如果选择DOUT,TTL高低电平端,输出信号可以直接接单片机IO口或者接一个NPN型三极管去驱动继电器,电位器RP在这里用于调节输出电平跳变的阀值,由下图原理图可以分析,当传感器检测到被测气体时,比较器LM393管脚2点的电压值,跟传感器检测到气体的浓度成正比,当浓度值超过电位器RP设定的阀值时,比较器2脚的点位高于3脚的点位,这个时候,比较器1脚输出低电平,LED灯亮,R3为LED灯限流电阻,C1为滤波电容。传感器输出低电平,反之,当没有信号的时候,传感器输出高电平,等于电源电压。

第三步:如果选择AOUT,模拟量输出,那样就不用管电位器了,直接将AOUT脚接AD转换的输入端或者,带有AD功能的单片机,就可以了。根据我们的经验:在正常环境中,即:没有被测气体的环境,设定传感器输出电压值为参考电压,这时,AOUT端的电压在1V左右,当传感器检测到被测气体时,电压每升高0.1V,实际被测气体的浓度增加200ppm(简单的说:1ppm=1mg/kg=1mg/L=1×10-6 常用来表示气体浓度,或者溶液浓度。),根据这个参数就可以在单片机里面将测得的模拟量电压值转换为浓度值。注意:如果您是用来做精密仪器,请购买市场上标准的校准仪器,不然存在误差,因为,输出浓度和电压关系的比值并非线性,而是趋于线性。

特别提醒:传感器通电后,需要预热20S左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。

模块特色:
1、采用优质双面板设计,具有电源指示和TTL信号输出指示;
2、具有DO开关信号(TTL)输出和AO模拟信号输出;
3、TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机或继电器模块)
4、模拟量输出电压随浓度越高电压越高。
5、对液化气,天然气,城市煤气,烟雾有较好的灵敏度。
6、有四个螺丝孔便于定位;
7、产品外形尺寸:32(L)*20(W)*22(H)
8、具有长期的使用寿命和可靠的稳定性
9、快速的响应恢复特性

在这里插入图片描述
在这里插入图片描述

电气性能:
输入电压:DC5V 功耗(电流):150mA
DO输出:TTL数字量0和1(0.1和5V)
AO输出:0.1-0.3V(相对无污染),最高浓度电压4V左右
特别提醒:传感器通电后,需要预热20S左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。

在这里插入图片描述


在这里插入图片描述

接线方式:
1、VCC:接电源正极(5V)
2、GND:接电源负极
3、DO:TTL开关信号输出
4、AO:模拟信号输出

在这里插入图片描述

在这里插入图片描述

仿真示意图

在这里插入图片描述

在这里插入图片描述

/*【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)实验二十五:MQ-2气敏式烟雾传感器模块(甲烷 液化气可燃气体)*/#define Aout A0 //MQ-2 AO 接 Arduino Uno A0int temp = 0; //临时变量,存储A0读取的数据void setup() {// put your setup code here, to run once:Serial.begin(9600);//定义波特率pinMode(Aout, INPUT);//定义A0为INPUT模式}void loop() {// put your main code here, to run repeatedly:temp = analogRead(Aout); //读取A0的模拟数据Serial.println(temp); //串口输出temp的数据delay(500);  //延时500毫秒}

实验示意图

在这里插入图片描述

用打火机的丁烷气体做测试

在这里插入图片描述

第一次实验的串口数据

在这里插入图片描述

第二次实验的检测数据

在这里插入图片描述

实验的波形图,检测到丁烷气体挺敏感

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

/*
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验二十五:MQ-2气敏式烟雾传感器模块(甲烷 液化气可燃气体)
项目:声音烟雾报警器
蜂鸣器 buzzer=D4
*/int MQ2=A0;//指定模拟端口A0int val=0;//声明临时变量
int buzzer=4;
void setup()
{pinMode(MQ2,INPUT);Serial.begin(9600);//设置串口波特率为9600pinMode(buzzer,OUTPUT);//设置IO脚模式,OUTPUT为输出
}
void loop()
{val=analogRead(MQ2);//读取A0口的电压值并赋值到valSerial.println(val);//串口发送val值if(val>70)digitalWrite(buzzer,HIGH);//发声音elsedigitalWrite(buzzer,LOW);//关闭声音
}

收集的一些相关资料

1、可燃气体传感器(MQ系列)-救命的传感器

https://www.bilibili.com/video/av804079838/?from=search&seid=11663358107279587563&spm_id_from=333.337.0.0

2、《单片机实践项目》之MQ-3酒精检测传感器讲解(274)

https://www.bilibili.com/video/av287274155?from=search&seid=5350287723948680848&spm_id_from=333.337.0.0

3、
Arduino-MQ-2气体传感器检测演示

https://www.bilibili.com/video/av805299651/?from=search&seid=13856095729728797361&spm_id_from=333.337.0.0

4、(第三章.基础实验)实验19、MQ-2气体传感器

https://www.bilibili.com/video/av886804760/?from=search&seid=13856095729728797361&spm_id_from=333.337.0.0

5、MQ系列气体检测报警器操作演示 烟雾传感器测试 可燃气体传感器报警

https://www.bilibili.com/video/av807019421/?from=search&seid=13856095729728797361&spm_id_from=333.337.0.0

6、mq2可燃气体报警器

https://www.bilibili.com/video/av70300691/?from=search&seid=13856095729728797361&spm_id_from=333.337.0.0

在这里插入图片描述

这篇关于【雕爷学编程】Arduino动手做(25)——MQ-2甲烷一氧化碳气敏式烟雾传感器模块2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/513683

相关文章

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

Python如何调用指定路径的模块

《Python如何调用指定路径的模块》要在Python中调用指定路径的模块,可以使用sys.path.append,importlib.util.spec_from_file_location和exe... 目录一、sys.path.append() 方法1. 方法简介2. 使用示例3. 注意事项二、imp

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中