news 2026/6/10 14:36:33

火灾监控系统的设计(内附网盘:代码、仿真、报告)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
火灾监控系统的设计(内附网盘:代码、仿真、报告)

(STM32F103C8T6、标准库)

  1. 功能设计

本项目设计一种全自动的智能火灾监控系统,可对环境温度、湿度和烟雾浓度进行实时监测,当有火灾风险或异常情况发生时,本装置可进行声音报警、自动控制并能够远程数据上报。本系统的具体设计参数如下:

(1)通过 DHT11 检测控制温湿度数据,并显示在OLED上。

(2)通过 MQ-2 检测烟雾浓度数据并显示在OLED上, 正常阀值在0~1000PPM之间。

(3)系统综合多个传感器数据来判断火情,能够实现风险较轻、风险较高、风险极高等基本火情判断:

检测到温度 超过30摄氏度,风险较轻;

检测到温度 超过40摄氏度,风险较高;

检测到烟雾浓度大于 30ppm 时 风险极高;

(4)检测到以上任意风险时蜂鸣器报警提醒,同时发送报警信息(当前温湿度,烟雾浓度,风险登记)到手机上。

(5)低风险不做处理,风险较高,打开风扇,风险极高风扇和水泵同时打开。

2. 硬件设计

2.1 系统结构框图

本系统由主控制器模块、传感器检测模块、通信模块、执行报警模块、显示模块和电源模块等部分组成,各模块协同工作,实现对火灾的实时监测、处理与报警。其结构框图如图1所示。

图1 系统结构框图

2.2 主控制器选型

本系统STM32F103C8T6作为主控制器,该型号提供 64KBFlash+ 20KBSRAM的存储组合,能满足多传感器监测与执行控制的综合需求。多个独立的ADC通道,可同时支持MQ-2 等模拟量传感器的采集,可在无需扩展芯片的情况下同时连接WiFi模块、调试接口和外部通信设备。其定时器配置便于驱动风扇、水泵、蜂鸣器等执行装置,特别适合需要多路PWM控制的火灾联动系统。

2.3 烟雾传感器、温湿度传感器选型

本系统烟雾检测部分采用MQ-2 型可燃气体/烟雾传感器。该传感器能够检测空气中的烟雾及多种可燃气体浓度,典型测量范围约为 300~10000PPM,输出为随浓度变化的模拟电压信号,电压范围在 0~5V之间,可直接连接至主控制器的ADC输入端口进行采集和处理,能够满足系统对烟雾浓度实时监测的要求。

本系统温湿度检测部分采用DHT11 型数字式温湿度传感器,用于测量环境温度和相对湿度。其温度测量范围为 0~50 ℃、湿度测量范围为 20~90 %RH,温度精度约 ±2 ℃、湿度精度约 ±5 %RH,输出为数字信号,采用单总线的通信方式与主控制器进行连接,具有接口简单、数据读取稳定的特点,适用于本系统的环境参数采集。

2.4 通信模块选型

本系统的通信部分在仿真环境中采用Proteus中的COMPIM通信接口模块,用于实现主控制器与计算机之间的串行数据交互。COMPIM能够将仿真电路中的UART信号映射为计算机本地的串口或虚拟串口,使系统在仿真阶段即可通过串口助手接收主控发送的数据,实现与真实串口相同的通信效果。该模块支持标准TTLUART信号,波特率可根据系统设置灵活调整,接口形式与实际硬件串口一致,便于在仿真过程中验证数据发送格式、通信稳定性及上位机显示功能。

2.5主控制器外围电路设计

主控制器外围电路如图2所示,时钟部分采用8MHz无源晶振Y2配合C13、C14构成主时钟振荡电路,同时搭配32.768kHz的Y1晶振与C11、C12组成实时时钟电路以满足低功耗计时需求;复位功能由复位按键SW1、电容C2和电阻R2构成的手动复位电路实现;电源方面通过ME6211-3.3将5V输入转换为3.3V的VCC,且输入输出端均配置滤波电容稳定供电;调试接口采用SWD形式的H4接口,可实现程序下载与调试;同时还设计了USB接口、GPIO扩展排针等外设接口,以及电源指示灯LED1、LED2用于状态显示,也引出了PA11/PA12等引脚支持USB通信。

图2 主控制器外围电路原理图

2.6 烟雾入侵检测电路设计

烟雾入侵检测电路如图3所示。本设计采用MQ-2 可燃气体/烟雾传感器作为火灾早期烟雾识别元件。MQ-2 的模拟输出随空气中烟雾浓度变化而改变,经可调电位器RV1 进行阈值设定后送入主控制器的ADC通道。MCU持续采集烟雾模拟量,并与设定浓度阈值比较,当检测到烟雾浓度升高至危险水平时立即触发火灾预警,联动蜂鸣器、排风风扇及水泵执行紧急处置。该电路结构简单、响应快速,能够有效实现火灾初期烟雾的自动检测与报警功能。

图3 烟雾入侵检测电路原理图

2.7 执行报警电路设计

执行报警电路如图4所示。本系统采用蜂鸣器、微型风扇和水泵作为火灾报警后的执行装置,各执行元器件均通过导线直接连接到STM32 的GPIO引脚,并由单片机输出高低电平实现开关控制。当检测到温度或烟雾浓度超过阈值时,主控制器立即输出高电平驱动蜂鸣器发声,同时启动风扇进行排烟,并控制水泵开启进行简易灭火。该电路结构简单,响应迅速,能够在仿真环境下实现火灾场景的联动报警功能。

烟雾传感器、温湿度传感器选型:

图4 蜂鸣器原理图

图5 电机驱动原理图

2.8 显示模块

本系统的显示模块采用 0.96 英寸OLED液晶显示屏,工作电压为 5V,通过I2C总线与STM32F103C8T6 相连,仅需SDASCL两根信号线即可完成数据传输,接口简单、占用资源少。该模块具有高亮度、高对比度和宽视角等特点,即使在低光环境下也能清晰呈现信息,非常适合用于火灾监控场景的实时数据显示。OLED显示内容包括当前温度、湿度、烟雾浓度以及系统工作状态等关键参数,主控制器通过发送字符缓存与刷新指令实现界面的动态更新。显示模块响应速度快、功耗低,可确保在持续监控过程中稳定运行,为用户提供直观、可靠的现场监控信息。

图6OLED原理图

2.9 电源电路设计

电源电路如图所示。本系统采用稳定的 5V直流电源作为整套电路的供电基础,主控制器STM32F103C8T6、DHT11 温湿度传感器、MQ-2 烟雾传感器模块、OLED显示屏及蜂鸣器等都由该电源统一供电。在仿真环境中,各模块均已集成必要的稳压处理,因此电源直接分配至各器件的VCCGND引脚即可满足工作要求。系统中所有数字接口均共享公共地线,确保信号传输可靠;5V电源具备足够的电流输出能力,可同时驱动风扇、水泵等负载,从而保证整个火灾监控系统的稳定运行。

图7 电源模块原理图

3. 软件设计

3.1 主程序设计

1. 系统初始化和主循环

2. 传感器数据读取

3. 主要风险判断(温度>30或烟雾>30)

4. 报警和数据发送

5. 三级响应机制(根据烟雾和温度值控制风扇水泵)

6. 显示更新和循环继续

图8 主程序流程图

3.2OLED显示子程序设计

1. 接收行号、列号和字符串指针参数;

2. 遍历字符串中的每个字符;

3. 调用OLED_ShowChar()逐个显示字符;

4. 遇到字符串结束符'\0'时停止

图9OLED显示子程序流程图

3.3 串口发送子程序设计

  1. 发送单个字节,等待发送完成;
  2. 发送字符串,遍历直到遇到'\0'
  3. 发送字节数组,指定长度;
  4. 发送数字,转换为字符串形式;
  5. 格式化输出,支持可变参数;

图10 串口发送子程序流程图

3.4温湿度传感器子程序设计

  1. 复位DHT11

2. 检测响应

3. 读取数据(包含字节和位的循环)

4. 校验数据

5. 解析数据或返回失败

图11 串口发送子程序流程图

3.5烟雾传感器(滑动变阻器模数转换)子程序设计

  1. 初始化ADC- 配置GPIOADC参数
  2. 获取ADC平均值 - 循环多次采样

单次ADC采样

延时5ms

  1. 计算平均值 - 返回最终结果

图12 烟雾传感器(滑动变阻器模数转换)子程序流程图

4.效果展示

温度<30℃且烟雾小于30PPM时,无反响:

烟雾>30PPM:触发声音报警,启动通风+灭火系统

数据上报:异常状态下通过WiFi发送实时数据

温度>30℃:触发声音报警

数据上报:异常状态下通过WiFi发送实时数据

温度>40℃:触发声音报警,启动通风系统

5. 程序清单

主程序 while(1) { DHT11_Read_Data(&temp,&humi); mq2=MQ2_Get_Adc_Average(ADC_Channel_1,10)*1000/4095;//烟雾传感器浓度的值 OLED_ShowNum(47,0,temp,2,OLED_8X16); OLED_ShowNum(47,16,humi,2,OLED_8X16); OLED_ShowNum(47,32,mq2,3,OLED_8X16); OLED_Update(); //阈值检测 if(temp>30 || mq2>30) //任何一种风险产生 开报警并发送数据出去 { GPIO_ResetBits(GPIOB, GPIO_Pin_0);//低电平触发 Delay_ms(10); GPIO_SetBits(GPIOB, GPIO_Pin_0);//低电平触发 //通过串口发送一次数据到WiFi模块 if(send_flag == 0){ send_flag = 1; printf("TEMP="); Serial_SendByte(temp/10+'0'); Serial_SendByte(temp%10+'0'); printf(" C, HUMI="); Serial_SendByte(humi/10+'0'); Serial_SendByte(humi%10+'0'); printf(" RH, MQ2="); Serial_SendByte(mq2/100+'0'); Serial_SendByte(mq2/10%10+'0'); Serial_SendByte(mq2%10+'0'); printf(" PPM\r\n"); } } else //无风险 关报警 { send_flag = 0; GPIO_SetBits(GPIOB, GPIO_Pin_0); } if(mq2>30){ //风险极高 GPIO_SetBits(GPIOB, GPIO_Pin_3);//开风扇 GPIO_SetBits(GPIOB, GPIO_Pin_6);//开水泵 } else if(temp>40){ //风险较高 GPIO_SetBits(GPIOB, GPIO_Pin_3);//开风扇 GPIO_ResetBits(GPIOB, GPIO_Pin_6);//关水泵 }else{ //低风险或无风险 GPIO_ResetBits(GPIOB, GPIO_Pin_3);//关风扇 GPIO_ResetBits(GPIOB, GPIO_Pin_6);//关水泵 } }

(详细代码、图片流程图等看网盘中的报告)

网盘:代码、仿真、报告

通过网盘分享的文件:火灾监控系统
链接: https://pan.baidu.com/s/1S_-OeYKDnZy6qC7FnV-Jrw?pwd=yjjz 提取码: yjjz

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 7:05:58

最新论文降AI率技巧!3个降AI工具,降AIGC率还保持学术风格!

在论文、报告、内容创作越来越严格的时代&#xff0c;查AI率、检测AI率、降AI率 已经成为学生、写作者、博主的日常需求。很多同学因为 AI率过高被导师指出“AI痕迹太重”&#xff0c;甚至退回重写。本文今天一次性告诉你&#xff1a; 检测AI率应该注意什么 免费查AI率的网站有…

作者头像 李华
网站建设 2026/6/9 14:42:54

Vue-Office:Web端Office文档预览的革命性解决方案

在企业级Web应用中&#xff0c;文档在线预览一直是技术实现的痛点。传统方案依赖后端转换服务&#xff0c;不仅增加了系统复杂度&#xff0c;还带来了性能瓶颈。Vue-Office作为纯前端Web文档预览方案&#xff0c;通过创新的浏览器文档渲染技术&#xff0c;彻底改变了这一现状。…

作者头像 李华
网站建设 2026/6/10 12:26:49

新一代 Workflow 编辑器Unione Flow Editor :OA 审批流程实现案例

新一代 Workflow 编辑器Unione Flow Editor &#xff1a;OA 审批流程实现案例 Unione Flow Editor 是一款灵活高效的工作流可视化编辑器&#xff0c;支持自定义节点、流程配置与数据联动。本文通过一个完整的 OA 审批流程案例&#xff0c;展示其核心用法&#xff0c;包含编辑器…

作者头像 李华
网站建设 2026/6/10 12:28:00

高效移动端PDF预览开发指南:为什么pdfh5.js是你的最佳选择?

高效移动端PDF预览开发指南&#xff1a;为什么pdfh5.js是你的最佳选择&#xff1f; 【免费下载链接】pdfh5 项目地址: https://gitcode.com/gh_mirrors/pdf/pdfh5 在当今移动优先的时代&#xff0c;为Web应用提供流畅的PDF预览功能已成为刚需。pdfh5.js作为一款专为移动…

作者头像 李华
网站建设 2026/6/10 12:44:10

ParsecVDD虚拟显示器终极攻略:从零开始打造多屏工作空间

ParsecVDD虚拟显示器终极攻略&#xff1a;从零开始打造多屏工作空间 【免费下载链接】parsec-vdd ✨ Virtual super display, upto 4K 2160p240hz &#x1f60e; 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd 还在为单屏幕限制工作效率而苦恼吗&#xff1f;…

作者头像 李华
网站建设 2026/6/9 14:56:14

JavaWeb之过滤器Filter监听器

Filter&#xff1a;过滤器&#xff0c;用来过滤网站的数据&#xff1b; 处理中文乱码登陆验证…… Fitler开发步骤 添加依赖 pom.xml <dependencies><!--Jsp依赖--><!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->…

作者头像 李华