
1、介绍
MQ-4气体传感器是一种用于检测甲烷气体浓度的传感器。它被广泛用于煤气和天然气检测设备中。特点如下:
1、高灵敏度和稳定性,可检测100-10000ppm的甲烷和天然气气体。
2、具有长寿命和低成本的特点,是工业和家用产品的理想选择。
3、普适型数字引脚设计,可以直接连接微控制器设备进行读数。
4、在有甲烷气体存在的环境中,传感器的电导率会随着空气中甲烷浓度的增加而增大。
5、简单的驱动电路,便于设备接入和调试。
6、该传感器的应用领域包括煤气泄漏监测,家庭和工厂的气体泄漏检测,便携式气体检测设备等。
7、模块上设有AD数字模拟切换开关,开关拨到A时输出模拟值,拨到D时输出数字信号,触发阈值由模块上的可调电位器控制。
2、原理图
3、模块参数
引脚名称 | 描述 |
|---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
S | 信号引脚 |
供电电压:3.3V / 5V
连接方式:PH2.0 3P端子
安装方式:螺丝固定
4、电路板尺寸

5、Arduino IDE示例程序
注意:程序上传时如果提示库文件报错,请先导入库文件!
Arduino IDE 库文件下载及导入教程:点击查看
示例程序(UNO开发板):
void setup(){
pinMode(11, OUTPUT);
Serial.begin(9600);
digitalWrite(11,LOW);
pinMode(A2, INPUT);
}
void loop(){
//烟雾报警器:有源蜂鸣器接D11,
//烟雾传感器接A2;
//注意烟雾传感器与扩展版接口线序,不要正负极接反。
//当烟雾传感器检测气体或者烟雾时输出低电平(0),
//蜂鸣器有频率的响起。
//打开串口监视器,查看串口烟雾传感器输出值,调节电位器,没有烟雾或者气体,模块指示灯熄灭。
if (digitalRead(A2) == 0) {
//检测到烟雾输出低电平(0),蜂鸣器响
for (int i = 0; i <= 3; i = i + (1)) {
digitalWrite(11,HIGH);
delay(200);
digitalWrite(11,LOW);
delay(200);
}
} else {
digitalWrite(11,LOW);
}
Serial.print("烟雾输出值:");
Serial.println(digitalRead(A2));
delay(10);
}6、ESP32 Python 示例(适用于Mixly IDE /米思齐)
开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:点击查看
示例程序(ESP32-Python):
import machine
import time
pin4 = machine.Pin(4, machine.Pin.OUT)
pin12 = machine.Pin(12, machine.Pin.IN)
while True:
if pin12.value() == 0:
for i in range(0, 3, 1):
pin4.value(1)
time.sleep_ms(200)
pin4.value(0)
time.sleep_ms(200)
else:
pin4.value(0)
print('烟雾输出值:',end ="")
print(pin12.value())
time.sleep_ms(10)
7、米思齐 Mixly 示例程序(图形化语言)
示例程序(UNO开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:点击查看

示例程序(ESP32开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:点击查看

8、测试环境搭建
Arduino UNO 测试环境搭建
准备配件:
HELLO STEM UNO R3 开发板 *1
HELLO STEM UNO R3 P 扩展板 *1
USB type-c 数据线 *1
气体传感器模块(HS-S11A-P)*1
有源蜂鸣器(HS-F07L)*1
PH2.0 3P双头端子线 *2
电路接线图:

ESP32 测试环境搭建
准备配件:待更新...
电路接线图:待更新...
9、视频教程
Arduino UNO视频教程:点击查看
ESP32 Python视频教程:点击查看
10、测试结论
Arduino UNO测试结论:
调节模块背面电位器的阈值,在气体传感器模块通电的情况下,用小螺丝刀调节传感器模块的电位器,调至在没有气体或者烟雾干扰的情况下,传感器信号指示蓝灯熄灭,有气体或者烟雾情况下气体传感器模块信号指示蓝灯亮起。


器件连接好线之后,将上述程序上传到 Arduino UNO 开发板之后, 打开Mxily串口监视器,当烟雾传感器检测气体或者烟雾时输出低电平(0),蜂鸣器有频率的响起;未检测到烟雾时输出高电平(1),蜂鸣器不响。

ESP32 Python测试结论:
调节模块背面电位器的阈值,在气体传感器模块通电的情况下,用小螺丝刀调节传感器模块的电位器,调至在没有气体或者烟雾干扰的情况下,传感器信号指示蓝灯熄灭,有气体或者烟雾情况下气体传感器模块信号指示蓝灯亮起。

器件连接好线之后,将上述程序上传到 ESP32开发板之后, 打开Mxily串口监视器,当烟雾传感器检测气体或者烟雾时输出低电平(0),蜂鸣器有频率的响起;未检测到烟雾时输出高电平(1),蜂鸣器不响。
