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

基于STM32物联网WiFi火灾烟雾自动灭火报警器Proteus仿真+代码+报告+视频

火灾烟雾自动灭火报警器proteus

  • 基于STM32物联网WiFi火灾烟雾自动灭火报警器
    • 一、开发环境
    • 二、主要功能
    • 三、仿真设计
    • 四、程序代码
    • 五、设计说明书
    • 六、资料清单&下载链接

基于STM32物联网WiFi火灾烟雾自动灭火报警器

本设计包含proteus仿真+程序代码+设计报告+讲解视频

一、开发环境

仿真图:proteus 8.17

程序编译器:keil 5

编程语言:C语言

设计编号:C0135

二、主要功能

  1. 烟雾采集传感器选用MQ-2监测环境烟雾浓度;

  2. 采用火焰传感器监测环境火光;

  3. 温湿度采集使用DHT11数字传感器;

  4. 显示设备使用OLED,可以在屏幕上显示实时烟雾浓度值、温湿度值,火焰检测状态、安防监测状态以及报警阈值等信息;

  5. 报警模块则采用蜂鸣器和LED灯组成,烟雾浓度超过阈值、温度超过阈值,监测到火光,设防状态下监测到人体红外信号触发报警。蜂鸣器会鸣叫报警,灯光闪烁;

  6. 设计采用3个按键作为操作输入设备,可以用来调整温度、烟雾报警阈值和关报警器;

  7. 烟雾浓度超过阈值、温度超过阈值,监测到火光会触发继电器工作,模拟洒水灭火;

8.通过WIFI模块ESP01S将数据实时上传至物联网云平台,可以通过手机APP查看温湿度、烟雾检测值、火焰状态、设防状态等;Proteus仿真没有ESP-01元器件,使用串口模拟。

主要硬件设备:STM32F103C8T6、MQ-2烟雾传感器、火焰传感器、ESP-01S、OLED显示、继电器、DHT11温湿度

资料下载链接:

KEY_C0135 STM32物联网WiFi火灾烟雾自动灭火报警器

链接: https://pan.baidu.com/s/1TN4Mcx-oDv1gaRBRsNQgUg?pwd=wgr3

提取码: wgr3

以下为本设计资料展示:

三、仿真设计

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

四、程序代码

程序是用keil5 mdk版本打开的,如果打开有问题,核实下keil的版本。程序有注释可以结合讲解视频理解。

/* ************************************************************ * 函数名称: main * * 函数功能: * * 入口参数: 无 * * 返回参数: 0 * * 说明: ************************************************************ */intmain(void){DHT11_Data_TypeDef DHT11_Data;unsignedshorttimeCount=0;//发送间隔变量unsignedshortset_timeCount=0;//设置状态刷新状态unsignedchar*dataPtr=NULL;uint8_tsmog_lock=0;// uint8_t security_lock=0;Hardware_Init();//初始化外围硬件Fan_Set(FAN_OFF);Beep_Set(BEEP_OFF);Relay_Set(RELAY_OFF);#if1ESP8266_Init();//初始化ESP8266// UsartPrintf(USART_DEBUG, "Connect MQTTs Server...\r\n");OLED_Clear();OLED_ShowString(0,0,"Connect MQTTs Server...",16);while(ESP8266_SendCmd(ESP8266_ONENET_INFO,"CONNECT"))DelayXms(500);// UsartPrintf(USART_DEBUG, "Connect MQTT Server Success\r\n");OLED_ShowString(0,4,"Connect MQTT Server Success",16);DelayXms(500);OLED_Clear();OLED_ShowString(0,0,"Device login ...",16);while(OneNet_DevLink())//接入OneNET{ESP8266_SendCmd(ESP8266_ONENET_INFO,"CONNECT");DelayXms(500);}#endifUsartPrintf(USART_DEBUG,"Connect MQTT Server Success\r\n");OneNET_Subscribe();Display_Init();Led_Set(LED_OFF);SystemCoreClockUpdate();UsartPrintf(USART_DEBUG,"system_clock:%lu Hz (%.2f MHz)\r\n",SystemCoreClock,SystemCoreClock/1000000.0);// temp = DS18B20_GetTemperture();//读取温度传感器smog=MQ2_GetData_PPM();//读取烟雾传感器Fire_read();//读取火焰传感器temp=humi=25;//初始化while(1){if(++timeCount>=50&&set_sta==0)//发送间隔2.5s{// temp = DS18B20_GetTemperture();// DHT11_Read_Data(&temp,&humi);if(DHT11_Read_TempAndHumidity(&DHT11_Data)==SUCCESS){humi=DHT11_Data.humi_int;temp=DHT11_Data.temp_int;}UsartPrintf(USART_DEBUG,"temp=%d--humi=%d\r\n",temp,humi);Fire_read();//读取火焰传感器Hc_sr501_read();//读取人体红外热释电传感器UsartPrintf(USART_DEBUG,"Security_Status=%d\r\n",Security_Status);smog=MQ2_GetData_PPM();if(smog>9999){smog=9999;}UsartPrintf(USART_DEBUG,"VOL----%.2f\r\n",smog);OneNet_SendData();//发送数据timeCount=0;ESP8266_Clear();if(Status_Change){Status_Change=0;Display_Init();}}if(DHT11_Read_TempAndHumidity(&DHT11_Data)==SUCCESS){humi=DHT11_Data.humi_int;temp=DHT11_Data.temp_int;}Fire_read();//读取火焰传感器Hc_sr501_read();//读取人体红外热释电传感器smog=MQ2_GetData_PPM();if(smog>9999){smog=9999;}dataPtr=ESP8266_GetIPD(0);if(dataPtr!=NULL){OneNet_RevPro(dataPtr);}if(set_sta){if(key_ctrl){OLED_Clear();key_ctrl=0;UsartPrintf(USART_DEBUG,"OLED_Clear\r\n");}}else{if(key_ctrl){Display_Init();key_ctrl=0;UsartPrintf(USART_DEBUG,"Display_Init\r\n");}}Refresh_Data();/***利用smog_lock进行自锁操作,避免重复无效控制,超阈值后, 只执行一次,实现蜂鸣器可以被手动按停, 直到降到阈值以下,才解锁,进入下轮阈值检测***/if(((smog>smog_th)||(Fire_Status==0)||(temp>temp_th))&&smog_lock==0){smog_lock=1;Fan_Set(FAN_ON);Beep_Set(BEEP_ON);Relay_Set(RELAY_ON);// Led_Set(LED_ON);}if(((smog<smog_th)&&(Fire_Status!=0)&&(temp<temp_th))&&smog_lock==1){smog_lock=0;Fan_Set(FAN_OFF);Beep_Set(BEEP_OFF);Relay_Set(RELAY_OFF);// Led_Set(LED_OFF);}if(set_arm&&Security_Status){//安防检测单独做蜂鸣器动作Beep_Set(BEEP_ON);Led_Set(LED_ON);}if(smog_lock&&(timeCount>25)){Led_Set(LED_ON);}else{Led_Set(LED_OFF);}DelayMs(10);}}

程序流程图:

五、设计说明书

16250字,内容包括硬件设计、软件设计、结论等。

六、资料清单&下载链接

资料下载链接:

链接: https://pan.baidu.com/s/1TN4Mcx-oDv1gaRBRsNQgUg?pwd=wgr3

提取码: wgr3

http://www.zskr.cn/news/1491917.html

相关文章:

  • 从‘Hello World’到完整项目:我的Halcon视觉检测系统搭建全记录(附C#混合编程避坑指南)
  • Transformer也能玩转高光谱图像分类?SpectralFormer论文精读与PyTorch复现避坑指南
  • Claude Code 新手避坑指南:10 个常见错误与解决方案
  • 元器件库存管理革命:PartKeepr如何通过Octopart API集成实现智能数据同步
  • 别再让‘继承Bucket’坑了你!深入理解阿里云OSS的ACL权限模型与最佳实践
  • Qt 高级开发 029: QListWidget从基础条目到自定义微信式列表实战详析
  • 英红品牌的口碑怎么样?75年国货老牌的全球竞争力与品质真相
  • 异常行为智能识别技术,筑牢监管场所预警类视频孪生防线
  • 龙石数据中台 V3.9.0 升级 | 数据资产门户全面升级
  • 从‘Hello World’到生产部署:我的第一个Flink实时处理项目实战复盘
  • unreal engine5(UE5)中使用Rider
  • 苏州中小企做高端定制小程序,到底要花多少钱?
  • 五金店售卖系统的设计与实现
  • 从“炼丹”到“控火”:用EarlyStopping和ModelCheckpoint拯救你的Keras模型训练
  • STM32WB55搭配LIS2DW12实现低功耗活动/静止状态实时判别工程
  • Beyond Compare 5密钥生成器:简单三步实现文件对比工具永久激活
  • 618 大促前夕突袭!食品直播新规落地,大批主播要连夜整改
  • 借世界杯风口做网盘引流,两类主流玩法拆解,新手也能轻松上手
  • 从“能用”到“好用”:聊聊ADS1274硬件设计中那些容易被忽略的细节(电源、时钟与噪声篇)
  • 5分钟掌握AMD Ryzen调试神器:SMU Debug Tool完整指南
  • 长沙高价出包完整攻略,权威白名单禹竞名奢汇估价无虚标 - 名奢变现站
  • 给RISC-V初学者的第一课:手把手带你用蜂鸟E203跑通RV32I指令集测试
  • 银河麒麟桌面版安装、多屏配置、触摸校准
  • 深入对比:在RT-Thread上使用LWIP,选Sockets还是Netconn API?性能与易用性实测
  • 智能车竞赛C车模:别再当两轮车写了!手把手教你从舵机打角算出后轮差速
  • 珠海市黄金回收本地靠谱店铺指南+白银回收+铂金回收+彩金回推荐收门店 及地联系方式址推荐 - 盛世金银回收
  • IDEA 2021.3.2 升级后 Maven 依赖死活拉不下来?别慌,教你两招搞定这个烦人的 ‘maven-default-http-blocker’
  • 南充高坪区黄金回收避坑指南 教你远离各类回收套路 - 润富黄金回收
  • 别再直接转unsigned short了!FP16与Float互转的两种C语言实现深度评测
  • 向量化主题建模:让LDA主题具备语义距离与动态演化能力