【雕爷学编程】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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_41659040/article/details/132501997
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/513683

相关文章

python urllib模块使用操作方法

《pythonurllib模块使用操作方法》Python提供了多个库用于处理URL,常用的有urllib、requests和urlparse(Python3中为urllib.parse),下面是这些... 目录URL 处理库urllib 模块requests 库urlparse 和 urljoin编码和解码

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

一文深入详解Python的secrets模块

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