
👨💻个人主页:@开发者-削好皮的Pineapple!
👨💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 削好皮的Pineapple! 原创
👨💻 收录于专栏:C语言到基于STM32 的智能矿探小车


⭐前言⭐
- 本文主要介绍MQ2烟雾传感器模块的相关知识,包括其引脚连接方式、数据获取方法以及如何将检测到的烟雾浓度值显示到手机蓝牙串口APP上,为智能矿探小车的烟雾检测功能实现提供基础。
🎶一、MQ2模块基本介绍与引脚连接
- MQ2模块主要用于测量烟雾浓度,相关详细说明可参考《Z-MQ-01烟雾传感器使用说明书.pdf》。
- 引脚连接方式如下:
- VCC引脚连接至5V电源
- GND引脚连接至地
- TXD引脚连接至单片机的RXD(可选择USART1、USART2或USART3的RXD)
- RXD引脚连接至单片机的TXD(可选择USART1、USART2或USART3的TXD)


| 区分维度 | 模拟输出型MQ2 | 串口输出型MQ2 |
|---|---|---|
| 引脚数量及标识 | 通常4脚,包含VCC、GND、AO(核心)、DO(可选) | 通常4~6脚,包含VCC、GND、TX(发送)、RX(接收),可能有RESET、SET等 |
| 核心引脚作用 | AO输出05V或03.3V模拟电压(随烟雾浓度变化);DO输出高/低电平(阈值报警) | TX和RX为串口通信核心引脚,用于数据收发 |
| 是否带串口芯片 | 无,仅含MQ2气敏元件、电阻、电容等基础元件 | 有,含CH340(常见)、CP2102、PL2303等串口转换芯片 |
| 尺寸 | 较小,通常为2cm×2cm左右的小型电路板 | 相对较大(因含额外芯片) |
| 指示灯 | 一般无特殊指示灯 | 可能有PWR(电源灯)、TX(发送灯)、RX(接收灯),通信时TX/RX灯会闪烁 |
快速判断步骤
- 看引脚:有TX和RX → 串口型;只有AO/DO → 模拟输出型。
- 找芯片:有CH340/CP2102等串口芯片 → 串口型;无则为模拟输出型。
像我们今天所用的下面就有标识串口类型。
🎶二、MQ2模块数据获取与处理
- 单片机若要获取MQ2模块的数据,需要通过串口(USART1、USART2或USART3)向MQ2发送一帧特定数据:
FF 01 86 00 00 00 00 00 79。 - MQ2模块收到上述数据后,会反馈一帧数据,例如:
FF 86 00 85 00 00 00 00 F5。 - 其中,反馈数据的第二字节和第三字节表示检测到的浓度值。以上述示例为例:
- 第二个字节为0x00
- 第三个字节为0x85
- 计算检测到的浓度值(十进制)的方法为:
0x00 << 8 | 0x85
- 后续需将获取到的烟雾浓度值(十进制)通过蓝牙模块发送到手机的蓝牙串口APP上进行显示。
- 串口2连接蓝牙,串口3连接MQ2。手机蓝牙APP发送S或s,收到烟雾浓度。
uart.c
#include "stm32f4xx.h"
#include "uart.h"
#include <stdio.h>
// 全局变量定义
u8 recv; // USART2接收数据(命令指示)
u8 rdata; // USART3接收数据(MQ2传感器数据)
u8 mq2_response[9]; // 存储MQ2模块响应数据帧
u16 smoke_concentration; // 存储烟雾浓度值(百分比)
volatile uint8_t mq2_response_index = 0; // 记录MQ2响应帧索引
static uint8_t is_sending = 0; // 发送状态标志,防止数据冲突
uint8_t request_smoke_data = 0; // 请求烟雾数据标志
// 向MQ2模块发送请求数据帧(固定帧)
void send_mq2_request(void) {
int i;
u8 request_data[9] = {
0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79};
for (i = 0; i < 9; i++) {
while (USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET);
USART_SendData(USART3, request_data[i]);
}
}
// 解析MQ2数据接收逻辑,包括帧格式和校验位验证
void parse_mq2_response(void) {
u8 checksum = 0;
u16 raw_value;
int i;
// 1. 验证帧头格式,MQ2响应帧头为FF 86
if (mq2_response[0] != 0xFF || mq2_response[1]
MQ2烟雾传感器模块知识介绍

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



