目录
前言
在现代社会,火灾安全始终是人们关注的重点问题。随着科技的不断发展,智能化技术逐渐应用于各个领域,其中单片机智能火灾环境安全检测系统便是其中的一项重要应用。
传统的火灾报警系统大多依赖于简单的烟雾探测器或温度传感器,虽然在一定程度上能够发挥预警作用,但往往存在误报、漏报等问题,且反应速度较慢。而单片机智能火灾环境安全检测系统则通过集成多种高精度传感器、先进的单片机控制器以及智能报警装置,实现了对火灾环境的实时监测和精准预警。
该系统能够实时监测环境中的烟雾浓度、温度、湿度、光照等关键参数,一旦检测到异常情况,便会立即触发报警装置,如自动开启窗户‘开启窗帘’等,以声光形式提醒用户及时采取措施。同时,系统还可以通过无线通信技术将报警信息发送给用户的手机,实现远程监控和报警功能,进一步提升了火灾预警的及时性和准确性。
一、本设计主要实现哪些很“开门”功能?
1、环境烟雾实时检测数据,烟雾数据滤波
2、环境温度检测,湿度数据显示,加上上传到蓝牙APP显示
3、无线蓝牙模块数据双向通讯,上位机显示加上手机APP显示数据信息
4、设备具备可调控功能,可设置温度阈值
5、设备具备定时功能,可设定定时开关窗帘灯
6、设备可根据当前温度状态,当温度超过阈值,自动开启窗帘
二、电路设计原理图
电路图采用Altium Designer进行设计:
三、实物设计图
四、程序源代码设计
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "LED.h"
#include "adc.h"
#include "oled.h"
#include "function.h"
int main(void)
{
delay_init(); //延时函数初始化
uart_init(9600);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
LED_Init();
Adc_Init(); //ADC初始化水质
DHT11_Init();
OLED_Init();
//初始化OLED
OLED_Clear();
EXTIX_Init();
TIM3_PWM_Init(20000,71); //72分频 1MHZ跑 即定时器周期65536us 舵机都是已20ms=20000us为基准PWM周期
TIM2_PWM_Init(20000,71);
// TIM_SetCompare1(TIM3,500); //-90度
// TIM_SetCompare1(TIM3,1000); //-45度
TIM_SetCompare1(TIM3,1500); //0度
// TIM_SetCompare1(TIM3,2000); //45度
// TIM_SetCompare1(TIM3,2500); //90度
TIM_SetCompare4(TIM2,1500); //0度
L1 = 0;L2 = 0;
while(1)
{
Collect_data();
UI(coding);
timing();
}
}