一.系統(tǒng)概述
本次式設(shè)計的系統(tǒng)是以 STM32 單片機作為核心控制器,可以控制煙霧傳感器、火焰?zhèn)鞲衅鲗ο嚓P(guān)數(shù)據(jù)進(jìn)行采集,可以通過紅外對是否有人進(jìn)行監(jiān)測,當(dāng)監(jiān)測到火焰會控制短信提醒火災(zāi)危險,當(dāng)紅外識別到人且輸入密碼錯誤的時候會短信提醒有人闖入。需要有一個密碼輸入的功能。
二.仿真概述
1.系統(tǒng)內(nèi)可以檢測煙霧濃度、檢測是否有火焰、檢測是否有人,檢測到火災(zāi)發(fā)生且有人闖入就會通過GSM進(jìn)行遠(yuǎn)程提醒。使用矩陣鍵盤來輸入密碼的,當(dāng)檢測到人且密碼輸入不正確就會認(rèn)為是有人闖入。
2. 調(diào)節(jié)煙霧傳感器的滑動變阻器可以調(diào)節(jié)煙霧的模擬輸出量,煙霧的改變可以在顯示端體現(xiàn)。
3. 撥動人體檢測的開關(guān)即模擬檢測到人和檢測不到人,在顯示屏端也會相應(yīng)的進(jìn)行顯示。
4. 撥動火焰?zhèn)鞲衅鞯拈_關(guān)代表檢測到火焰,此時在顯示屏端會進(jìn)行提醒并且會通過GSM發(fā)短信進(jìn)行提醒,這里采用虛擬串口助手模擬短信的接收。
虛擬串口助手的鏈接:
https://serial.keysking.com/
5. 輸入正確的密碼12345就會顯示yes
輸入錯就會顯示error,并且如果檢測到人且輸入錯就會提醒有人闖入
三.程序設(shè)計
#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); //設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級 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; } }
-
傳感器
+關(guān)注
關(guān)注
2565文章
52915瀏覽量
766602 -
單片機
+關(guān)注
關(guān)注
6067文章
44973瀏覽量
649832 -
STM32
+關(guān)注
關(guān)注
2293文章
11031瀏覽量
364277 -
防盜系統(tǒng)
+關(guān)注
關(guān)注
0文章
75瀏覽量
20724
原文標(biāo)題:Proteus仿真實例_基于STM32單片機的火災(zāi)防盜系統(tǒng)(仿真文件+程序)
文章出處:【微信號:小常硬件,微信公眾號:小常硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于STM32F103單片機的汽車遠(yuǎn)程防盜系統(tǒng)方案

基于單片機的火災(zāi)報警系統(tǒng)
基于單片機的GSM短信家庭防盜報警系統(tǒng) 精選資料分享
請問怎樣去設(shè)計一種基于51單片機的智能火災(zāi)報警系統(tǒng)?
怎樣去設(shè)計一個基于單片機的GSM無線防火防盜系統(tǒng)
基于單片機控制的智能家庭防盜報警系統(tǒng)的設(shè)計
基于單片機的家庭防火防盜控制系統(tǒng)的設(shè)計

使用STM32單片機實現(xiàn)火災(zāi)報警器的程序和工程文件免費下載

基于單片機的GSM短信家庭防盜報警系統(tǒng)

基于單片機的火災(zāi)報警系統(tǒng)設(shè)計Proteus仿真基礎(chǔ)資料包
基于STM32單片機的WIFI火災(zāi)系統(tǒng)設(shè)計

評論