家里燃气报警器、厨房烟雾探测器,核心传感器往往就是MQ系列。MQ-2是其中最入门、最好买的一块:能测液化气、丙烷、甲烷、酒精、氢气,还有最常用的烟雾。给Arduino配上它,做一个会报警的燃气/烟雾检测小装置并不难,这篇文章把接线和读数讲清楚。
MQ-2是什么,认准它的输出口
MQ-2的传感核心是一层二氧化锡(SnO2)的半导体材料,放在一个加热丝加热的腔体里。传感器旁边写着H的脚就是加热脚,通电后要给传感元件加热。当周围气体浓度升高,SnO2的导电性会变化,板上那颗LM393比较器把这种变化转成两种输出:一路模拟(AOUT),一路数字(DOUT),还带一个可调电位器用来设置数字输出的触发阈值。
模块引出四个脚:VCC(电源)、GND(地)、AOUT(模拟输出)、DOUT(数字输出)。AOUT给的是连续的电平,数值越高往往代表气体越多;DOUT给的是开关信号,气体超过设定阈值就翻转,适合直接接报警器。

接线表:一个模拟口一个数字口
MQ-2接到Arduino Uno很直接:VCC接5V、GND接GND、AOUT接A0(模拟口)、DOUT接D2(数字口)。想省事只看有没有气体,接个数字口就够;想读浓度趋势,再补一根模拟线。
接线表:VCC→5V、GND→GND、AOUT→A0、DOUT→D2。程序里模拟口用analogRead(0),数字口用digitalRead(2),几行就能把数据读出来。

上电先预热,别急着报数
MQ-2有一个必须留心的特性:上电初期传感元件需要预热才能稳定,一般20秒到1分钟,新模块头一次通电甚至更久。刚通电就读数,数值会乱跳,很多人误以为坏了。稳妥的做法是开机先跳过前几十秒,再开始采样,或多采几次取平均,读数才可靠。
数字输出那边逻辑是反的——气体超过阈值时DOUT会输出低电平,报警逻辑要注意别写反。
数值不稳怎么办,几个排查点
最常见是“数值一直很高”。先看是不是刚上电还没预热;再确认AOUT接的是模拟口而不是数字口;第三,MQ-2对酒精、油烟也很敏感,厨房做饭时误报很正常,别拿它当纯净气体浓度计用,它更适合做“有没有超标”的定性检测。触发电位器用螺丝刀微调一下,把灵敏度调到合适位置。
用它做燃气/烟雾报警、通风联动、甚至电子烟的烟雾感应开关,都很顺手。四根线、一个预热等待、记住数字输出低电平有效,一个可靠的MQ-2检测器就出来了。







燃气报警用这个起步很合适,四根线把家底先练出来
厨房做饭它也会叫,当定性检测比较靠谱,别拿它测纯浓度
电位器用小螺丝刀调一下灵敏度,声光报警的响应就好了
SnO2那个加热腔要注意,头一次上电预热挺久,别急着下结论
AOUT接模拟口、AOUT才有浓度趋势,光看图以为接错线了