当前位置: 首页 > wzjs >正文

phpcms v9 网站建设入门广东网站seo策划

phpcms v9 网站建设入门,广东网站seo策划,先申请域名后做网站,深圳企业网站制作设计✌️✌️大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是基于《基于STM32的智能火灾报警系统设计》。 目录 1、系统功能 2.1、硬件清单 2.2、功能介绍 2.3、控制模式 2、演示视频和实物 3、系统设计框图 4、软件设计流程图 5、原理…

✌️✌️大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是基于《基于STM32的智能火灾报警系统设计》。

目录

1、系统功能

2.1、硬件清单

2.2、功能介绍

2.3、控制模式

2、演示视频和实物

3、系统设计框图

4、软件设计流程图

5、原理图

6、主程序

7、总结


1、系统功能

2.1、硬件清单

STM32F103C8T6 最小核心控制板 + 0.96 寸 OLED 显示屏 + ESP866-01s + 继电器 + DHT11 温湿度传感器 + 烟雾传感器 + 蜂鸣器 + 火焰传感器 + 风扇 + 4 按键 + 后备电池

2.2、功能介绍

(1)STM32F103C8T6 最小核心控制板:作为系统主控芯片,负责协调各硬件模块工作及数据处理。
(2)0.96 寸 OLED 显示屏(I²C 通讯协议):实时显示温湿度、烟雾浓度、火焰状态(0 无明火 / 1 有明火)、阈值参数及系统工作模式。
(3)ESP8266-01s:连接阿里云平台,实现手机 APP 与系统的远程数据交互及设备控制。
(4)继电器:控制加湿器(或水泵)启停,自动模式下检测到明火时触发喷水灭火。
(5)DHT11 温湿度传感器:检测室内温度和湿度,为系统自动控制提供数据依据。
(6)烟雾传感器:监测环境烟雾浓度,超过设定阈值时触发报警及联动设备。
(7)蜂鸣器:与红色指示灯组成声光报警系统,检测到异常时发出声音警报。
(8)火焰传感器:检测是否存在明火,输出数字信号(1 表示检测到明火),触发加湿器或水泵启动。
(9)风扇及外围电路:自动模式下,当温度或烟雾浓度超过阈值时启动排风;手动模式下可通过按键直接控制。
(10)4 按键
  - 第 1 个按键:模式切换(自动 / 手动)及返回功能;
  - 第 2-4 个按键:自动模式下调整温度、烟雾阈值(通过按键加减);手动模式下控制风扇、加湿器、蜂鸣器启停。
(11)后备电池:系统断电后为时钟供电,确保时间准确性。

2.3、控制模式

(1)自动模式
  - 触发条件:当烟雾浓度>烟雾阈值或温度>温度阈值时,自动启动风扇;
  - 当检测到明火(火焰传感器输出 1)时,立即启动加湿器(或水泵);
  - 支持通过按键设置温度阈值(标识 “WY”)和烟雾阈值(标识 “YY”),阈值调整后实时同步至云平台及手机 APP。
(2)手动模式
  - 通过第 2-4 个按键直接控制风扇、加湿器、蜂鸣器启停,与传感器检测值无关;
  - 手机 APP 无法远程控制手动模式下的外设。
(3)远程模式(依赖阿里云平台):
  - 通过手机 APP 实时查看温湿度、烟雾浓度、火焰状态等数据;
  - 远程设置温度 / 烟雾阈值,控制声光报警、加湿器、风扇的开关状态;
  - 仅在自动模式下支持远程控制,手动模式下远程控制功能锁定。


2、演示视频和实物

基于STM32的火灾报警系统设计

 


3、系统设计框图


4、软件设计流程图


5、原理图

 


6、主程序

#include "sys.h"                //头文件
/***********************************************************************************************
同学好!我们是5132单片机设计,定制单片机设计,实物和说明书均可定制,欢迎大家咨询。VX:lwfw123456789
其他项目演示视频和说明请大家移步哔哩哔哩、CSDN和公众号等。
淘宝:5132单片机设计
哔哩哔哩:5132单片机设计
CSDN:    5132单片机设计
公众号:  5132单片机设计
抖音  :  5132单片机设计
小红书:  5132单片机设计
咸鱼:    5132单片机设计
************************************************************************************************/
#include "delay.h"
#include "led.h"
#include "Key.h"
#include "Buzzer.h"
#include "OLED.h"
#include "AD.h"
#include "MyRTC.h"
#include "dht11.h"
#include "time2.h"#include "iot_wifi_mqtt.h"         //阿里云
#include "my_usart1.h"             //串口1调试
u16 SystemTimer = 0;               //变量声明全局时间变量uint32_t bufe[10];                     //存储传感器采集的数据
uint16_t AD0, AD2;             //存储5路ADC值uint32_t YanYu = 80;
uint32_t WenYu = 40;u8 temp, humi;                                //存放温湿度
u8 state, state2 = 2, state2_1, state2_2, state3;      //按键状态标志
u8 t = 0;                                     //传感器读取时间间隔
uint8_t KeyNum;                               //存储按键值
u16 ii = 0;                                   //步进电机循环
extern u8 flag;                               //远程控制标志
u8 flag2 = 0, flag1, flag3;uint16_t RTC_Time[] = {0, 0, 0};void ZiDong()
{if ((bufe[0] > YanYu) || (bufe[2] > WenYu)){Feng_ON();}else{Feng_OFF();}if (bufe[1] == 1){Shi_ON();}else{Shi_OFF();}if (KeyNum == 2)                          //自动模式下PB0按键控制阈值切换{delay_ms(20);if (KeyNum == 2){state3++;if (state3 > 1){state3 = 0;}}}if (state3 == 1){if (KeyNum == 3)YanYu++;if (KeyNum == 4)YanYu--;}if (state3 == 0){if (KeyNum == 3)WenYu++;if (KeyNum == 4)WenYu--;}
}void shoudong()
{if (KeyNum == 2)        //按键PB0控制窗户开关{delay_ms(20);if (KeyNum == 2){state2++;if (state2 > 1){state2 = 0;}}}if (state2 == 0){Feng_ON();//外设操作}if (state2 == 1){Feng_OFF();//外设操作}if (KeyNum == 3)        //按键PB0控制窗户开关{delay_ms(20);if (KeyNum == 3){state2_1++;if (state2_1 > 1){state2_1 = 0;}}}if (state2_1 == 0){Shi_ON();//外设操作}if (state2_1 == 1){Shi_OFF();//外设操作}if (KeyNum == 4)        //按键PB0控制窗户开关{delay_ms(20);if (KeyNum == 4){state2_2++;if (state2_2 > 1){state2_2 = 0;}}}if (state2_2 == 1){Buzzer_Turn();//外设操作}if (state2_2 == 0){Buzzer_OFF();//外设操作}
}int main(void)
{NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级delay_init();      //延时函数初始化My_USART1_Init();LED_Init();            //初始化与LED连接的硬件接口DHT11_Init();Buzzer_Init();             //下面为外设初始化OLED_Init();OLED_Clear();Key_Init();AD_Init();MyRTC_Init();//    OLED_ShowString(2, 3, "WIFI");
//      OLED_ShowChinese(2, 4, 68);
//      OLED_ShowChinese(2, 5, 69);
//      OLED_ShowChinese(2, 5, 70);
//    OLED_ShowString(2, 11, "....");//上传云端相关WiFi_ResetIO_Init();        //WIFI复位引脚初始化PA4AliIoT_Parameter_Init();//阿里云初始化参数,得到客户端ID,用户名和密码while (1){Connect_server();      //连接服务器的函数MyRTC_ReadTime();    //读取时间(每一个页面都有时间显示)OLED_ShowNum(1, 1, MyRTC_Time[3], 2);    //时OLED_ShowString(1, 3, ":");OLED_ShowNum(1, 4, MyRTC_Time[4], 2);    //分OLED_ShowString(1, 6, ":");OLED_ShowNum(1, 7, MyRTC_Time[5], 2);   //秒DHT11_Read_Data(&temp, &humi);  //读取温湿度并显示在OLED上bufe[2] = temp;bufe[3] = humi;AD0 = AD_GetValue(ADC_Channel_1);    //烟雾传感器if (AD0 > 4000)AD0 = 4000;bufe[0] = (u8)(100 - (AD0 / 40));if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_7) == 0) //火焰传感器{bufe[1] = 1;}else bufe[1] = 0;OLED_ShowChinese(2, 1, 60);    //烟雾OLED_ShowChinese(2, 2, 61);OLED_ShowString(2, 5, ":");OLED_ShowNum(2, 6, bufe[0], 2);OLED_ShowChinese(2, 5, 71);OLED_ShowChinese(2, 6, 72);OLED_ShowString(2, 13, ":");OLED_ShowNum(2, 14, bufe[1], 2);OLED_ShowChinese(3, 1, 26);    //烟雾OLED_ShowChinese(3, 2, 28);OLED_ShowString(3, 5, ":");OLED_ShowNum(3, 6, bufe[2], 2);OLED_ShowChinese(3, 5, 27);    //烟雾OLED_ShowChinese(3, 6, 28);OLED_ShowString(3, 13, ":");OLED_ShowNum(3, 14, bufe[3], 2);OLED_ShowString(4, 1, "W_Y:");OLED_ShowNum(4, 5, WenYu, 2);OLED_ShowString(4, 10, "Y_Y:");OLED_ShowNum(4, 14, YanYu, 2);KeyNum = Key_GetNum();if (KeyNum == 1){state2 = 2,delay_ms(20);if (KeyNum == 1){state++;if (state > 2){state = 0;}}}if (state == 0)    //远程模式{OLED_ShowChinese(1, 7, 49);OLED_ShowChinese(1, 8, 50);}if (state == 1)    //自动模式{OLED_ShowChinese(1, 7, 51);OLED_ShowChinese(1, 8, 52);ZiDong();}if (state == 2)    //手动模式{OLED_ShowChinese(1, 7, 18);OLED_ShowChinese(1, 8, 52);shoudong();}}
}void TimeSet()           //设置时间
{u8 T_state, T_state1;if (KeyNum == 2)    //PB10{delay_ms(20);if (KeyNum == 2){T_state++;if (T_state > 2){T_state = 0;}}}if (T_state == 0)    //时间显示模式{MyRTC_ReadTime();OLED_ShowNum(2, 5, MyRTC_Time[3], 2);  //时OLED_ShowNum(2, 8, MyRTC_Time[4], 2);//分OLED_ShowNum(2, 11, MyRTC_Time[5], 2);//秒RTC_Time[0] = MyRTC_Time[3];RTC_Time[1] = MyRTC_Time[4];RTC_Time[2] = MyRTC_Time[5];}if (T_state == 1)    //修改时间{if (KeyNum == 3){delay_ms(20);if (KeyNum == 3){T_state1++;if (T_state1 > 2){T_state1 = 0;}}}if (T_state1 == 0)  //修改时{if (KeyNum == 4)RTC_Time[0]++;if (RTC_Time[0] > 23 & RTC_Time[0] < 100)RTC_Time[0] = 0;if (RTC_Time[0] > 100)RTC_Time[0] = 23;OLED_ShowNum(2, 5, RTC_Time[0], 2);  //时}if (T_state1 == 1)  //修改分{if (KeyNum == 4)RTC_Time[1]++;if (RTC_Time[1] > 59 & RTC_Time[1] < 100)RTC_Time[1] = 0;if (RTC_Time[1] > 100)RTC_Time[1] = 59;OLED_ShowNum(2, 8, RTC_Time[1], 2);  //时}if (T_state1 == 2)  //修改秒{if (KeyNum == 4)RTC_Time[2]++;if (RTC_Time[2] > 59)RTC_Time[2] = 0;if (RTC_Time[2] > 59 & RTC_Time[2] < 100)RTC_Time[2] = 0;if (RTC_Time[2] > 100)RTC_Time[2] = 59;OLED_ShowNum(2, 11, RTC_Time[2], 2);  //时}}if (T_state == 2){MyRTC_Time[3] = RTC_Time[0];MyRTC_Time[4] = RTC_Time[1];MyRTC_Time[5] = RTC_Time[2];MyRTC_SetTime();T_state = 0;}
}

7、总结

本文介绍了一种基于STM32F103C8T6的智能火灾报警系统设计。系统硬件包括核心控制板、多种传感器(温湿度、烟雾、火焰)、OLED显示屏、蜂鸣器、继电器和ESP8266-01s模块。系统支持三种控制模式:自动模式根据传感器数据联动控制风扇、水泵等设备;手动模式通过按键直接控制;远程模式通过阿里云平台实现手机APP监控。软件设计采用模块化编程,实现了数据采集、阈值调整、设备联动等功能。该系统具有实时监测、自动报警和远程控制等特点,为火灾预防提供了有效的智能化解决方案。

http://www.dtcms.com/wzjs/267356.html

相关文章:

  • 做网站一般需要哪些文件夹网络营销师是干什么的
  • 做HH网站实体店怎么引流推广
  • 定制型网站制作公司培训如何优化网站
  • 乌鲁木齐招聘网站建设网站加速器
  • 组建网站 多少钱上海公关公司
  • 临沂网站制作培训百度指数分析大数据
  • 莆田网站建设开发志鸿优化网
  • 网站开发功能合同范本南京百度推广优化
  • 游戏钓鱼网站开发湖口网站建设
  • 怎么做没有后台程序的网站百度网盘电脑版
  • 台州做微网站seo优化关键词是什么意思
  • 个人网站如何做淘客网站推广普通话的文字内容
  • 做网站是什么意思类似58的推广平台有哪些平台
  • 用css div做网站的首页天津百度关键词推广公司
  • 家电设计网站互联网seo是什么
  • html 网站模板下载产品宣传推广方案
  • 音乐网站开发环境描述百度信息流推广教程
  • 一起做网站下载数据包推广合作
  • 网站弹窗客服代码西点培训前十名学校
  • 宁夏住房和城乡建设局网站小程序自助搭建平台
  • 上海微信网站公司哪家好代理推广
  • 网站源码在线查询网站seo优化课程
  • 宝鸡市住房和城乡建设部网站搜索推广公司
  • html5手机网站实例2023年最新新闻简短摘抄
  • 上海微信网站建设企业策划咨询公司
  • 哪个网站推荐做挖机事的百度网页收录
  • 网站建设有什么意见百度推广四川成都地区服务中心
  • 网页浏览器主要通过ftp协议同网页服务器杭州百度优化
  • 山东潍坊网站制作公司宁波优化网站哪家好
  • 网站的公司视频优化是什么意思