MQ2烟雾传感器使用指南
创作时间:
作者:
@小白创作中心
MQ2烟雾传感器使用指南
引用
CSDN
1.
https://m.blog.csdn.net/qq_67520019/article/details/141668075
MQ2烟雾传感器是一种常用的气体检测传感器,广泛应用于各种可燃气体的检测场景。本文将详细介绍MQ2传感器的工作原理、引脚定义,并提供具体的使用代码示例,帮助开发者快速上手使用该传感器。
一、模块简介
MQ2所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当烟雾传感器所处环境中存在可燃气体时,烟雾传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该烟雾传感器气体浓度相对应的输出信号
MQ-2气体烟雾传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种气体传感器可检测多种可燃性气体,是一款适合多种应用的低成本烟雾传感器。
二、工作原理
MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。处于200~3000摄氏度时,二氧化锡表面吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从面使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒收到烟雾的调至面变化,就会引起表面导电率的变化。利用这一点就可以获得这种烟雾存在的信息烟雾浓度越大导电率越大,输出电阻越低,则输出的模拟信号就越大。
三、引脚说明:
- VCC:电源正极接口,可外接3.3~5v供电电源
- GND:电源负极接口,可外接电源负极或地线(GND)
- DO:数字信号输出接口(0和1),可外接单片机的GPIO
- AO:模拟信号输出接口,可外接单片的ADC采样通道
四、例程代码
#include "MQ-2.h"
void MQ_2_Init(void)
{
/*1、初始化GPIOA0,模拟输入,此时不受单片机引脚控制*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AIN;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStruct);
/*初始化ADC功能*/
RCC_ADCCLKConfig(RCC_PCLK2_Div6); //设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14M
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);//使能ADC1
ADC_DeInit(ADC1); //复位ADC1
ADC_InitTypeDef ADC_InitStruct;
ADC_InitStruct.ADC_Mode = ADC_Mode_Independent; //独立模式
ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right; //数据右对齐
ADC_InitStruct.ADC_NbrOfChannel = 1; //通道数
ADC_InitStruct.ADC_ScanConvMode = DISABLE; //单通道模式
ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //不使用外部触发
ADC_InitStruct.ADC_ContinuousConvMode = DISABLE; //是否连续转换
ADC_Init(ADC1, &ADC_InitStruct);
ADC_Cmd(ADC1, ENABLE); //使能指定的ADC1
ADC_ResetCalibration(ADC1); //使能复位校准
while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束
ADC_StartCalibration(ADC1); //开启AD校准
while(ADC_GetCalibrationStatus(ADC1)); //等待校准结束
}
uint16_t Get_MQ2Value(void)
{
ADC_RegularChannelConfig(ADC1, ADC_Channel_0,1, ADC_SampleTime_239Cycles5);//ADC1,ADC通道,采样时间为239.5周期
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
}
/*模拟数据转换为电压值*/
float Get_Adc_Average(void)
{
float tmp = 0;
for(int i = 0;i < 10;i++)
{
tmp += Get_MQ2Value();
}
tmp = tmp / 10;
tmp = tmp * (3.3/4095);
tmp = (tmp / 3.3) * 100; // 转换为百分制
return tmp;
}
热门推荐
超级月亮全解析:科学真相与观测指南
抗原抗体反应中的凝集反应类型及应用
如何选择合适的心理咨询师证培训机构?
耳朵为什么会痒?里面的“油”是啥?看完总算清楚了
数学工具在初级经济师考试中的应用:提升经济分析能力的关键
持续学习:构建卓越企业文化,激发员工自我提升新动力
麦理浩径第四段徒步路线详解
女频网络文学观察:“大女主”的游戏法则
艾青笔下的大地情怀——热爱土地,热爱生活
鼻炎变好的三个过程
骨肉瘤的治疗选择:手术、化疗还是介入治疗?
文旅新探|走进吐鲁番博物馆 探寻丝路文化
冬天总是口干 到底是什么病
大学里的心理咨询室,托得住抑郁的青年吗?
崩坏星穹铁道绝对失败处方奇物效果一览
女性左胸刺痛要警惕
选择AMD处理器主板攻略:如何根据处理器型号精准搭配主板?
脑部CT有阴影是脑膜瘤复发吗?怎么排除?
綦江:好品推荐官+云端平台 让更多优质土特产"出圈"
公司不能清偿到期债务,债权人怎么办
沉默的螺旋理论:探索公众舆论形成的奥秘
红色故事绘——“四史”人物志专题|今日推荐连环画《屠呦呦的青蒿素》
与边缘型人格障碍伴侣相处指南:理解与支持的关键策略
“原汤化原食”:传统智慧与现代科学的交响
从"修庙人"到视频博主!"斗拱爷爷"带你零基础看懂古建瑰宝
骨相美or皮相美:你是哪种?
吃瓜“齁”得嗓子疼,不是因为太甜,而是……
花店照片怎么分类管理
八字五行平衡与命运的关系
@高血压人群,卫健委7个地区的春季食养方快收藏!