一.系统概述
本次式设计的系统是以 STM32 单片机作为核心控制器,可以控制烟雾传感器、火焰传感器对相关数据进行采集,可以通过红外对是否有人进行监测,当监测到火焰会控制短信提醒火灾危险,当红外识别到人且输入密码错误的时候会短信提醒有人闯入。需要有一个密码输入的功能。
二.仿真概述
1.系统内可以检测烟雾浓度、检测是否有火焰、检测是否有人,检测到火灾发生且有人闯入就会通过GSM进行远程提醒。使用矩阵键盘来输入密码的,当检测到人且密码输入不正确就会认为是有人闯入。
2. 调节烟雾传感器的滑动变阻器可以调节烟雾的模拟输出量,烟雾的改变可以在显示端体现。
3. 拨动人体检测的开关即模拟检测到人和检测不到人,在显示屏端也会相应的进行显示。
4. 拨动火焰传感器的开关代表检测到火焰,此时在显示屏端会进行提醒并且会通过GSM发短信进行提醒,这里采用虚拟串口助手模拟短信的接收。
虚拟串口助手的链接:
https://serial.keysking.com/
5. 输入正确的密码12345就会显示yes
输入错就会显示error,并且如果检测到人且输入错就会提醒有人闯入
三.程序设计
#include#include "adc2.h" // u8 Key;//按键检测 u8 Rxdat; u8 dat[3]; u8 AIN0; u8 beepflag; u8 ack=1; // // void Init_Test(void); void Display(void); // int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 OLED_Init(); //PB6 PB7 Key_Init(); Adc2_Init(); // Sim900A_Uart1_Init(); // Sim900A_GSM_Uart1_Send_Message(); Usart1_Init(9600); PCF8591_Init(); OLED_ShowString(1,1,"Smo:");OLED_ShowString(1,8,"fla:");//OLED_ShowString(1,1,"have");OLED_ShowString(1,8,"not"); OLED_ShowString(4,1,"Enter:"); while(1) { KeyXY_Scan(&key,&Password); if(key!=0) { input[inputflag]=Password; if(inputflag==0){sprintf((char*)disbuf,"%d",input[inputflag]);OLED_ShowString(4,7,disbuf);} if(inputflag==1){sprintf((char*)disbuf,"%d",input[inputflag]);OLED_ShowString(4,8,disbuf);} if(inputflag==2){sprintf((char*)disbuf,"%d",input[inputflag]);OLED_ShowString(4,9,disbuf);} if(inputflag==3){sprintf((char*)disbuf,"%d",input[inputflag]);OLED_ShowString(4,10,disbuf);} if(inputflag==4){sprintf((char*)disbuf,"%d",input[inputflag]);OLED_ShowString(4,11,disbuf);} if(inputflag==5){sprintf((char*)disbuf,"%d",input[inputflag]);OLED_ShowString(4,12,disbuf);} key=0;Password=0; inputflag++; if(inputflag==5) { for(i=0;i<5;i++) { if(input[i] == password[i]) YES++; } if(YES==5) { OLED_ShowString(3,1,"Yes"); delay_ms(1000); OLED_ShowString(3,1," "); YES=0; OLED_ShowString(4,7," "); } else if(YES !=6 )//密碼錯誤 { OLED_ShowString(3,1," "); OLED_ShowString(3,1,"Error"); delay_ms(1000); OLED_ShowString(4,7," "); if(ren==0) { OLED_ShowString(3,1," "); OLED_ShowString(3,1,"Send a message"); delay_ms(1000); //Sim900A_GSM_Uart1_Send_Message();// printf("有人闯入"); OLED_ShowString(3,1," "); OLED_ShowString(3,1,"Send Ok"); delay_ms(1000); } OLED_ShowString(3,1," "); YES=0; } OLED_ShowString(3,1," "); inputflag=0; } }
-
传感器
+关注
关注
2553文章
51511浏览量
757255 -
单片机
+关注
关注
6044文章
44632浏览量
639384 -
STM32
+关注
关注
2274文章
10929浏览量
357995 -
防盗系统
+关注
关注
0文章
74浏览量
20317
原文标题:Proteus仿真实例_基于STM32单片机的火灾防盗系统(仿真文件+程序)
文章出处:【微信号:小常硬件,微信公众号:小常硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
基于STM32F103单片机的汽车远程防盗系统方案
![基于<b class='flag-5'>STM32</b>F103<b class='flag-5'>单片机</b>的汽车远程<b class='flag-5'>防盗</b><b class='flag-5'>系统</b>方案](https://file1.elecfans.com//web2/M00/A6/60/wKgZomUMPUGASY9eAACEkV8wLhY373.jpg)
基于单片机的GSM短信家庭防盗报警系统 精选资料分享
怎样去设计一个基于单片机的GSM无线防火防盗系统
基于单片机的家庭防火防盗控制系统的设计
![基于<b class='flag-5'>单片机</b>的家庭防火<b class='flag-5'>防盗</b>控制<b class='flag-5'>系统</b>的设计](https://file1.elecfans.com//web2/M00/A7/1E/wKgZomUMQn6AMeGiAAAgtbx4KnI914.png)
基于单片机的GSM短信家庭防盗报警系统
![基于<b class='flag-5'>单片机</b>的GSM短信家庭<b class='flag-5'>防盗</b>报警<b class='flag-5'>系统</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于STM32单片机的WIFI火灾系统设计
![基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的WIFI<b class='flag-5'>火灾</b><b class='flag-5'>系统</b>设计](https://file1.elecfans.com/web2/M00/8D/5C/wKgaomS53uiAJUKzAAANr9-Xxiw745.jpg)
评论