MQ-2烟雾气体传感器怎么接线?Arduino读可燃气体浓度和报警避坑

2026-10-21 13:20:51 56阅读

厨房燃气泄漏、酒精蒸汽、家里烟雾浓度,想用单片机盯住这些,MQ-2是第一块会想到的气体传感器。它便宜、耐操、教程多,能同时输出模拟量和数字量开关,非常适合做烟雾报警和气体浓度检测的入门件。这篇文章把原理、接线、读数和校准坑讲清楚。

MQ-2是什么,认准四根引脚

MQ-2内部是一颗加热型的半导体气敏元件,检测对象主要是可燃气体和烟雾,包括丙烷、丁烷、液化气、酒精烟雾等。它需要加热才能工作,所以模块上通常能看到一个发热的加热丝区,工作时摸起来是温的,这是正常的。

模块一般引出四根脚:VCC(供电)、GND(地)、DO(数字量输出)、AO(模拟量输出)。DO输出的是经过板载比较器处理的开关信号,没超阈值输出高电平,超了就翻低;AO输出的是随浓度变化的模拟电压,接Arduino的模拟口读数最灵活。引脚图见下。

接线表:AO接模拟口读数最方便

MQ-2接到Arduino Uno的标准接法如下:VCC接5V、GND接GND、AO接A0(模拟输入)、DO接D2(可选,做开关报警)。这样既能用A0读到连续的浓度值,又能用D2做简单的阈值触发。

需要注意,MQ-2加热后读数需要预热,刚上电的前30秒到1分钟,浓度值会先飙高再慢慢回落到环境本底,这是半导体气敏元件特有的“预热期”,不是坏了。接线图见图。

读数据:模拟量怎么换算

用analogRead(A0)拿到的原始值范围是0到1023,对应0到5V(如果供电是5V)。想转成电压就乘5再除1023。真正转浓度ppm比较麻烦,需要查MQ-2的datasheet特性曲线去拟合,对大多数报警用途,更实用的是“标定一个阈值”——先测当前环境的稳定本底值,留出余量,超过设定值就触发报警,这样最省心也最稳。

报警乱响或读数不准?几个高频排查点

最常见的坑是没预热就读数,或者把AO/DO接反。再一个就是调节电位器——模块上那颗可调电阻控制DO的触发阈值,想灵敏度高就逆时针拧。还有供电要稳定,电机这类大电流负载别和模块抢一路5V,纹波大会让读数飘。

把阈值和告警写好后,就能做厨房燃气报警、桌面烟雾检测、排烟风扇自动控制这些实用的项目。MQ-2是理解气体传感、模拟量与阈值判断很好的一课,四根线接对,浓度就到手。


作者:舵机老炮
链接:https://www.aiddithome.com/p/156bf0ec2561ab.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
5条评论
电烙铁爱好者
1楼 · 2026-10-21 13:20:53

想省事就标定一个环境本底阈值,比硬解ppm省心

拆机党
2楼 · 2026-10-21 13:20:53

做厨房燃气报警够用了,四根线认清楚很简单

老张装机
3楼 · 2026-10-21 13:20:52

刚上电先预热半分钟再读,不然浓度虚高吓人

触底反弹的Tony
4楼 · 2026-10-21 13:20:52

调模块那颗电位器能控触发灵敏度,测试很好用

阿伟不emo
5楼 · 2026-10-21 13:20:51

AO接A0、DO接D2这接法准,反过来读数就乱了