MQ-6气体传感器模块可用于气体泄漏检测。用于家庭和工业的气体泄漏检测设备,适用于检测LPG、异丁烷、丙烷、LNG的气体传感器。MQ-6对液化石油气、异丁烷、丙烷具有高灵敏度和响应时间。传感器的灵敏度是可以通过电位器调节,然而MQ-6对酒精、烟雾敏感度比较小。所以只能适合检测可燃的气体。可与树莓派/Arduino系列开发板单片机结合使用,可以制作丁烷、丙烷、LNG、LPG泄露报警等相关的作品。

使用前说明:接好传感器的VCC正与GND负,传感器上指示灯会亮。使用前先供电至少预热2分钟以上,传感器探头稍微发热属于正常现象,因为内部有电热丝,如果传感器非常烫手就不正常了。
AO模拟量:电压基本为0v左右,输出的电压会随着气体的影响慢慢增大,AO输出:0.1-0.3V(相对无污染),最高浓度电压4V左右;顺时针调节电位器(只针对TTL输出的灵敏度)感测的浓度加大,通过AD转换可以获得环境气体浓度大致数值。
DO数字开关量:DO可以与单片机直接相连,当传感器未检测到可燃气体时输出H高电平,检测到可燃气体后输出L低电平。我们可以通过单片机来检测DO引脚的H/L高低电平状态,由此来检测是否有可燃气体。另外DO数字量输出可以直接驱动5V继电器,由此可以组成一个简易的燃气检测开关。
| 树莓派主板 | MQ-3酒精传感器 |
| 5V | VCC |
| GND | GND |
| GPIO1(BCM18) | DO |

import RPi.GPIO as GPIO
import time
# 配置GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO_PIN = 18
# 初始化引脚为输入模式,启用下拉电阻
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
try:
print("监测系统启动中...")
last_status = None # 记录上次状态
while True:
# 读取当前引脚状态
current_status = GPIO.input(GPIO_PIN)
# 只在状态变化时更新显示
if current_status != last_status:
if current_status == GPIO.HIGH:
print("\r当前状态:检测一切正常", end="", flush=True)
else:
print("\r当前状态:发现危险气体", end="", flush=True)
last_status = current_status
time.sleep(0.1) # 降低CPU占用率
except KeyboardInterrupt:
print("\n监测已终止")
finally:
GPIO.cleanup()运行此程序后结果如下,正常时显示:

当有有可燃气体时显示:

关于传感器的AO模拟量信号读取气体浓度值,可以参考这个资料:树莓派AD模拟量教程