一、概述
系统集成 MQ-2 烟雾传感器、DHT11 温湿度传感器、MK147 火源探测传感器实现多源数据采集,结合 ESP8266 无线通信模块完成数据远程传输与控制,通过 AMS1117 系列降压芯片构建稳定电源供给,同时搭配 OLED 屏幕实现数据可视化。系统采用三级报警机制,可根据环境参数动态触发不同等级预警,最高等级预警时能自动驱动水泵灭火,有效提升家庭火灾预警的实时性与可靠性。
二、系统组成
- MQ-2 烟雾传感器:接入 PA1 引脚(ADC1_IN1 通道),12 位分辨率连续采样,3.3V 基准电压确保浓度检测精度;
- MK147 火源探测器:接入 PA9 引脚(AO 输入模式),前端串联 220Ω 限流电阻与 104 瓷片电容构成 RC 滤波电路,抑制环境光线干扰;
- DHT11 温湿度传感器:接入 PA6 引脚(开漏输出模式),采用单总线协议通信;
- 继电器(水泵控制):接入 PA10 引脚(推挽输出模式),拉高电平触发继电器吸合;
- 蜂鸣器:接入 PB5 引脚,通过 1kHz 频率、30%-80% 占空比调节音量,紧急状态输出 85dB 警示音;
- ESP8266 通信模块:通过 UART2(PA2-TX、PA3-RX)与 MCU 通信,实现数据收发。
三、程序设计
int main(void)
{
SystemInit();
delay_init(72);
LED_Init();
Relay_Init();
Buzzer_Init();
USART1_Config();
USART2_Config();
TIM3_Int_Init(1000-1,72-1);
TIM2_Init();
ARTCInit();
MK147_Init();
MQ2_ADC_DMA_Init();
MQ2_Init();
OLED_Init();
OLED_meun();
userInit();
gizwitsInit();
delay_ms(500);
gizwitsSetMode(WIFI_RESET_MODE);
while (1)
{ppm = MQ2_GetPPM();
sprintf(buff, "%.1fppm",ppm);
DHT11_Read_Data(&temp,&humi);//
ARTC_ReadTime();
OLED_ShowNum(40,0,My_time[0],4,16,1);
OLED_ShowNum(80,0,My_time[1],2,16,1);
OLED_ShowNum(104,0,My_time[2],2,16,1);
OLED_ShowNum(40,15,My_time[3],2,16,1);
OLED_ShowNum(64,15,My_time[4],2,16,1);
OLED_ShowNum(88,15,My_time[5],2,16,1);
FireDetection_Handle();
OLED_ShowString(64,32,buff,16,1);
OLED_ShowNum(48,48,g_alarm_level,1,16,1);
OLED_ShowNum(16,32,temp,2,16,1);
OLED_ShowNum(16,48,humi,2,16,1);
OLED_ShowString(72,48,"HY:",16,1);
if(!LightSensor_Get()){OLED_ShowString(96,48,"War",16,1);}
else {OLED_ShowString(96,48,"ok!",16,1);}
userHandle();
gizwitsHandle((dataPoint_t *)¤tDataPoint);
}}
四、功能实现
- 数据采集阶段:系统以 STM32F103C8T6 为主控,通过 MQ-2 烟雾传感器(实时采集可燃气体浓度,0-100ppm 范围)、DHT11 温湿度传感器(采集环境温度 0-50℃、湿度 20-80% RH)、MK147 火源探测传感器(探测 0.5m 内明火),每 0.5 秒完成一次多传感器数据采样,同时 STM32 内置 ADC 将 MQ-2 模拟信号转换为数字量,结合温度补偿算法提升浓度检测精度;
- 风险判定阶段:基于三级阶梯式判定模型,一级预警触发条件为温度≥25℃;二级预警需满足 “温度≥25℃且 MQ-2 烟雾浓度≥2000ADC 值(约 20ppm)”;三级预警需在二级条件基础上,叠加 MK147 持续 300ms 检测到明火信号;若二级预警后 10 秒内烟雾浓度回落至 10ppm 以下,判定为烹饪油烟干扰,自动取消警示;
- 分级响应阶段:一级预警时红色 LED 常亮;二级预警时红色 LED 闪烁 + 蜂鸣器短鸣 3 声;三级预警时红色 LED 快闪 + 蜂鸣器短鸣 5 声,同时 STM32 控制继电器吸合,驱动水泵启动并持续工作 5 分钟,水泵运行结束后重新检测火源,火源消失则关闭水泵恢复监测;
- 远程交互阶段:ESP8266 无线模块工作于 STA 模式,连接家庭 WiFi 后通过 MQTT 协议向机智云平台上传设备 ID、温湿度、烟雾浓度、报警等级等数据,断网时本地存储最近 24 小时数据;用户可通过手机 APP 实时查看数据,也可远程发送指令手动控制水泵开关。
五、实物


1922

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



