基于STM32的森林火灾报警系统设计与实现
创作时间:
作者:
@小白创作中心
基于STM32的森林火灾报警系统设计与实现
引用
CSDN
1.
https://blog.csdn.net/lihuadetongzhuo/article/details/146459435
本文介绍了一个基于STM32的森林火灾报警系统,该系统能够实时监测森林环境中的烟雾浓度、温度、湿度等参数,并在检测到异常时发出声光报警。系统通过无线通信模块将数据发送至手机APP,实现远程监控。文章详细介绍了系统的硬件组成、工作原理和代码实现,适合对嵌入式系统和物联网应用感兴趣的读者参考学习。
实现功能
- 实时监测森林环境中的烟雾浓度、温度、湿度等参数
- 当检测到的烟雾浓度超过设定阈值时,系统立即发出声光报警
- 通过按键设置检测参数,如烟雾浓度阈值、报警温度等
- 采用OLED屏幕实时显示烟雾浓度、温度、湿度等数据
- 检测到明火或环境异常时,通过蜂鸣器发出报警
- 将检测数据通过无线通信模块发送至手机APP,实现远程监控
主要元器件
- 主控芯片:选用STM32单片机,负责数据采集、处理和输出控制
- 烟雾传感器:采用MQ-2型烟雾传感器,实现对森林环境中烟雾浓度的检测
- 温湿度传感器:采用DHT11温湿度传感器,实时监测环境温湿度
- OLED显示屏:用于显示烟雾浓度、温度、湿度等数据
- 声光报警模块:用于发出报警信号
- 无线通信模块:采用WIFI,实现与手机APP的数据传输
- 按键模块:用于设置检测参数
系统工作原理
系统以STM32单片机作为主控制器,结合DHT11、MQ-2和火焰传感器,构建了一个高效的森林火灾检测系统。通过DHT11传感器实时监测温湿度,MQ-2传感器检测空气中的烟雾浓度,火焰传感器则用于检测火焰的存在,确保对森林环境变化的全面感知。
系统通过这些传感器数据的实时采集与处理,能够及时发现异常情况,帮助管理人员进行预警和应急响应。为了便于管理人员实时查看森林环境状态,系统采用OLED液晶显示屏呈现温湿度、烟雾浓度等关键数据,使监控变得直观易懂。
同时系统采用ESP8266 WiFi模块实现无线通信,将实时采集到的数据传输至远程平台。通过与手机APP的连接,管理人员可以在任何地方通过APP查看数据和接收预警信息,实现远程监控。
系统还具备灵活的报警设置功能,管理人员可以根据森林环境的实际需求设置烟雾浓度的报警阈值。当烟雾浓度超过设定值或火焰被检测到时,系统会触发蜂鸣器进行声音报警,并通过APP向管理人员发送预警提示。此功能有助于及时发现火灾隐患,提高森林防火工作效率,减少火灾带来的损失。
代码实现
STM32代码采用C语言,标准库编写,软件是keil5,代码都有详细注释,看不懂可以截图问我
#include "stm32f10x.h"
#include <stdio.h>
#include <string.h>
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "OLED.h"
#include "IO_Init.h"
#include "bsp_adc.h"
#include "DHT11.h"
extern __IO uint16_t ADC_ConvertedValue[NOFCHANEL];// ADC1转换的电压值通过MDA方式传到SRAM
float light,mq135,fire;
u8 mq135_set=30,fire_set=40;
u8 fire_sta;
u8 app_check() //手机APP的指令控制
{
u8 app_key;
app_key=0;
if(USART1_RX_STA>5){
delay_ms(50);
if(strstr((const char *)USART1_RX_BUF,"GPIO0=0")){
app_key= 1;
}
if(strstr((const char *)USART1_RX_BUF,"GPIO0=1")){
app_key= 2;
}
if(strstr((const char *)USART1_RX_BUF,"GPIO0=2")){
app_key= 3;
}
if(strstr((const char *)USART1_RX_BUF,"GPIO0=3")){
app_key= 4;
}
if(strstr((const char *)USART1_RX_BUF,"GPIO0=4")){
app_key= 5;
}
USART1_RX_STA=0;
memset(USART1_RX_BUF,0,sizeof(USART1_RX_BUF));
}
return app_key;
}
void key_deal()
{
u8 key;
key = Key_Scan(); //按键处理
if(key==0){
key = app_check(); //没有按键按下就处理APP数据
}
if(key==1){
}
if(key==2){ //阈值增加
if(mq135_set<99)
mq135_set++;
}
if(key==3){ //阈值减少
if(mq135_set>10)
mq135_set--;
}
}
int main(void) //主函数
{
u8 str[60],i,time=50,Flag=0;
SystemInit();
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); // 2组中断分组
Beep_Init(); //蜂鸣器初始化
Beep = 0; //测试蜂鸣器
OLED_Init(); //OLED初始化
Beep = 1; //关闭蜂鸣器
usart1_Init(115200);//串口1,ESP8266 WIFI
usart2_Init(115200);//串口2,调试用
Esp8266_AP_Init();//ESP8266初始化为AP模式,会产生一个热点,WIFI,123456789
ADCx_Init(); //ADC模拟量采集引脚初始化
Key_Init(); //按键引脚初始化
while(1)
{
key_deal(); //按键的处理判断
delay_ms(100);
if(time++>10) //10次100ms就是1s一次
{
time=0;
fire = 100-ADC_ConvertedValue[0]/40.95; //ADC数据换成火焰监测数据
mq135 = ADC_ConvertedValue[1]/40.95-1; //ADC数据转换成气体数据
get_temperature_and_humidity(); //温湿度数据
//间隔发送手机APP数据,不能发太快
if(Flag){
Flag=0;
i= sprintf((char *)str,"%.0fW%.0fW%.1fW%dW ",temp,humi,mq135,fire_sta);
UsartPrintf(ESP8266_USART,"AT+CIPSEND=0,%d\r\n",i);
}
else{
UsartPrintf(ESP8266_USART,(char *)str);
Flag=1;
}
}
//报警逻辑处理,数据异常蜂鸣器报警
if((fire_sta)||(mq135>mq135_set))
{
Beep = !Beep;
}
else
Beep = 1;
//以下是显示逻辑部分
OLED_printf(0,0,"Temp:%.0fC ",temp);
OLED_printf(0,2,"Humi:%.0f%% ",humi);
OLED_printf(0,4,"MQ:%4.1f%% %2d%%",mq135,mq135_set);
if(fire>fire_set)
fire_sta = 1;
else
fire_sta = 0;
if(fire_sta==1)
OLED_printf(0,6,"Fire ");
if(fire_sta==0)
OLED_printf(0,6,"NO Fire ");
}
}
原理图/PCB
原理图和PCB都使用立创EDA绘制,对新手较为友好。可以导出为AD格式的文件
热门推荐
辐射暴露及其预防措施
布莱泽奥特曼V99的真相正式揭秘 完美升华了沟通的核心主题
为什么车辆越开越费油?原因分析与解决方案
考研英语作文提高方法
1949年国民党败退台湾后,60万去台老兵都过得如何?
深入探讨因素分析法在数据分析中的应用与重要性
冒险大作战云缠天梯副本攻略大全
高考志愿选择医学专业怎么样?学医就业前景分析
海棠花养殖全攻略:从光照到土壤,打造美丽花境
25赛季中超第二轮:十人成都蓉城遭赛季首败!韦世豪斩获赛季首球
标准 NBA 篮球场尺寸(NBA 蓝球场多大)
“围魏救赵”的商业智慧:灵活变通,化解难题
“乳儿班”来了,能减轻双职工家庭的育儿压力吗?
月柱通根含义解析及其在八字命理中的作用
当“做游戏”成为一场生存游戏:独立游戏开发者的挑战关卡
常见的高速公路行车危险行为,看看自己中了几条……
【干货分享】2025年如何在美国创业:中国企业家的注册与运营指南
如何申请补贴?报废旧车与购买新车的具体流程及避坑指南
频繁想吃甜食?医生解析背后7大原因
哪些因素影响甜品店市场的增长?
查饮食、清毒物,5大信号预判狗狗肾脏健康,警惕肾病三大“杀手”
勾勒2025旅游业发展前景
中国旅游股票行情的深度解析
数字化转型让老旧户籍档案“一键”可查
《岳阳楼记》赏析
《岳阳楼记》表达了什么思想感情
自动化部署工具Ansible与Fabric实战教程
冷冻肉和新鲜肉哪个更好 经常吃冷冻肉好吗
走路运动膝盖疼、髌下脂肪垫炎,针刺“犊鼻穴”可以缓解疼痛吗?
多家航司业绩翻红,与高铁的竞争摆上台面