1.功能设计
本项目设计一种基于LORA无线通信的屋内火灾报警控制系统,采用DH11温湿度传感器跟MQ-2烟雾传感器作为火警安防系统,对房内温度,湿度,还有环境可燃气体,烟雾等实时检测,LORA通信为通信报警方法,LED跟蜂鸣器为声光报警,SG90舵机做为应急措施的开关。当温度湿度传感部分采集到超过限定温度值和低于限定湿度值时,会将信号发给相对应的传感检测部分,然后传感检测部分将信号发给核心处理器单片机,STM32F103RCT6核心处理单片机引脚电平转换,驱动声光报警系统和应急措施,同时启动LORA通信发送给业主和物业,让救援人员来时了解到大致情况做好充足准备。
(1) 检测项目:当环境温度≥45℃,湿度≤10%就可被判定为火灾,或者可燃气体甲烷浓度≥5%也可被判定为火灾可能发生,实施报警,并且采取应急措施。烟雾浓度≥5%被认定为有毒害,实施报警。
(2) 报警方式:声光报警,小区物业报警,户主报警。
(3) 应急措施:通过舵机控制阻燃气体的发射。
2.硬件设计
本系统由电源电路、主控制器、温度,湿度检测电路、烟雾可燃气体检测电路,LORA模块收发电路,应急措施电路,信息显示电路,声光报警电路等8个部分组成。
3.软件设计
其余介绍看,评论区报告链接,硬件设备工作流程图,以及步骤介绍等等。。。
程序分享
1.main.c
#include "led.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "dh11.h"
#include "adc.h"
#include "sys.h"
#include "delay.h"
#include "pwm.h"
#include "beep.h"
#include "lora.h"
#include "usart1.h"
#include "usart3.h"
char lora_tx_data[100];
char lora_rx_data[100];
int main(void)
{
u16 ADC_SHIDU ;
u8 t=0;
u8 temp;
u8 humi;
delay_init(); //延时函数初始化
Adc_Init(); //延时函数初始化
uart_init(115200); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
LCD_Init();
Beep_Init();//蜂鸣器初始化
SystemInit(); //配置系统时钟为 72M
USART1_Config();
TIM3_PWM_Init(899,0);//不分频。PWM频率=72000/(899+1)=80Khz
USART3_Config(115200); //USART3 配置
LORA_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(60,50,200,16,16,"GHB");
LCD_ShowString(60,70,200,16,16,"GXW");
LCD_ShowString(60,90,200,16,16,"LX");
LCD_ShowString(60,110,200,16,16,"2021/12/6");
LCD_ShowString(60,130,200,16,16,"DHT11 OK");
LCD_ShowString(60,150,200,16,16,"QCM2 OK");
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(60,170,200,16,16,"Temp: . C");
LCD_ShowString(60,190,200,16,16,"Humi: %");
LCD_ShowString(60,210,200,16,16,"Qtzl: %");
while(DHT11_Init()) //DHT11初始化
{
LCD_ShowString(60,130,200,16,16,"DHT11 Error");
delay_ms(200);
LCD_Fill(60,130,239,130+16,WHITE);
delay_ms(200);
}
while(1)
{
ADC_SHIDU=