当前位置: 首页 > 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.jsqmd.com/news/980189/

相关文章:

  • 从‘Hello World’到完整项目:我的Halcon视觉检测系统搭建全记录(附C#混合编程避坑指南)
  • 三菱FX PLC控制东芝4轴机械手完整工程包:带注释程序+信捷HMI+电气图+仿真软件
  • Claude Code 新手避坑指南:10 个常见错误与解决方案
  • 从家庭Wi-Fi到企业网络:手把手教你规划不同规模的局域网架构
  • 元器件库存管理革命:PartKeepr如何通过Octopart API集成实现智能数据同步
  • 别再让‘继承Bucket’坑了你!深入理解阿里云OSS的ACL权限模型与最佳实践
  • Qt 高级开发 029: QListWidget从基础条目到自定义微信式列表实战详析
  • 小程序毕业设计-基于Springboot+微信小程序的个性化漫画阅读推荐智能推荐、在线阅读、收藏评论系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 莱阳SEO优化公司|品牌搜索曝光升级,莱阳网站优化公司能力解析 - 招财兔数字员工
  • ⚡高频高效王者|NTMFS5C430NLT1G 安森美原装 工业 / 车载通吃 178-9846-4801
  • 宠物一站式服务厂家的设备实测运行数据差异是多少?
  • 英红品牌的口碑怎么样?75年国货老牌的全球竞争力与品质真相
  • QQ音乐加密文件解密终极指南:qmcdump让音乐回归自由
  • 从广告点击到下单转化:阿里ESMM模型如何用PaddlePaddle解决CVR预估的样本偏差难题
  • 异常行为智能识别技术,筑牢监管场所预警类视频孪生防线
  • 告别零散图片!用Python和mbutil把地图瓦片打包成mbtiles文件(附完整脚本)
  • Hindsight 内存爆炸 4 个词排查清单:9,284 条 6 成是 SSH 调试日志——Agent 标签系统的实战复盘
  • 滨州滨城区黄金回收 卖黄金怎么不被坑 - 润富黄金回收
  • 微软独占游戏策略摇摆不定,《战争机器:E 日》独占能否推动 Xbox 销售?
  • 预训练 vs 后训练:用“培养一个员工“讲清大模型是怎么炼成的
  • 龙石数据中台 V3.9.0 升级 | 数据资产门户全面升级
  • FusionCompute CNA 8.0.0部署实战:在VMware里规划一个“生产级”测试环境(含IP、资源规划表)
  • 基于STM32双板的MPU6050体感遥控小车实战工程包:含手势解算、电机驱动与完整设计文档
  • Transformer也能玩转高光谱图像分类?手把手教你复现SpectralFormer(附代码)
  • 拒绝盲从!2026公考培训四强测评:粉笔师资与环境实测报告
  • 常见漏洞代码审计方法 网络安全教程 零基础从入门到精通全解析
  • 别再乱铺地了!从Henry Ott的经典理论,聊聊PCB地平面设计的那些‘坑’与实战避雷指南
  • 用Python和PyTorch动手实验:Zero Padding到底如何影响你的CNN模型输出?
  • 这是一篇认真的开场白
  • Mythos安全模型:通用AI驱动的自动化漏洞挖掘与利用链生成