国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
基于STM32F103單片機智能門禁熱釋人體感應報警程序設計
[打印本頁]
作者:
路漫漫
時間:
2020-5-24 22:38
標題:
基于STM32F103單片機智能門禁熱釋人體感應報警程序設計
本設計由STM32F103C8T6單片機核心電路+撥動開關電路+按鍵電路+高亮LED燈電路+LCD1602液晶電路+蜂鳴器報警電路+GSM短信模塊SIM800A電路+光敏電阻檢測光照強度電路+熱釋紅外感應模塊E18電路+電源電路組成。
1、通過熱釋紅外傳感器檢測是否有人,如果有人靠近門時,液晶屏提示亮并顯示歡迎詞:Welcome to home!,夜間探測到有人時開燈,燈用9個高亮LED燈設計,無人時,關燈。
2、主人可設定門禁系統工作狀態,家里有人和無人兩種狀態。通過一個撥動開關設置,撥上去,液晶顯示有人:Somebody!,撥下來液晶顯示沒人:Nobody!有人時,客人按下門鈴,蜂鳴器鳴叫提示,無人時,客人按下門鈴,無任何反應。
3、門外人員逗留時間超過一定時間則發出報警信息。
4、檢測到有人或者沒有人,有狀態指示燈指示。
源程序(C語言含詳細備注).zip
(354.86 KB, 售價: 5 E幣)
2020-5-24 22:17 上傳
點擊文件名下載附件
售價: 5 E幣
[記錄]
[
購買
]
PDF格式的PCB圖.zip
(72.58 KB, 售價: 2 E幣)
2020-5-24 22:17 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
實物圖(高清).zip
(4.2 MB, 售價: 2 E幣)
2020-5-24 22:17 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
原理圖(sch源文件 PDF版 照片版).zip
(263.6 KB, 售價: 2 E幣)
2020-5-24 22:17 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
部分代碼:
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "key.h"
#include "led.h"
#include "lcd1602.h"
u8 lighFlag=0; //光照 標志
u8 doorFlag=0; //門檢測 標志
u8 manFlag=0; //人檢測 標志
u8 menlingFlag=0; //門鈴檢測 標志
u8 baojFlag=0; //報警 標志
int main(void)
{
u32 time10ms=0;
delay_init(); //延時函數初始化
KEY_Init(); //初始化 按鍵
LED_Init(); //初始化電機引腳 作為輸出 類似led
delay_ms(1);
Lcd_GPIO_init(); //初始化lcd引腳
Lcd_Init(); //初始化lcd屏幕
delay_ms(20);
Lcd_Puts(0,0,"Waitting for you"); //初始化顯示
Lcd_Puts(0,1,"Nobody! ");
buzzer=1; //打開 上電開關一下 方便檢測
ligh=1;
led_hot = 0;
delay_ms(200);
led_hot = 1;//關閉 用于測試
buzzer=0;
ligh=0;
while(1)
{
delay_ms(10);
if(manFlag==1)
{
Lcd_Puts(0,0,"Welcome to home!"); //顯示有人
if(lighFlag==1) //有人情況查看是否需要開燈
{
ligh=1;//打開 燈
}
else
{ligh=0;}//關閉
time10ms++;
if(time10ms>=3000) //有人超過30s 報警
{
buzzer=1; //打開蜂鳴器
baojFlag=1;//報警
}
}
else
{
Lcd_Puts(0,0,"Waitting for you"); //沒有人情況 顯示等待
ligh=0; //沒有人關閉led
time10ms=0; //清零緊急報警
baojFlag=0;
}
if(doorFlag==1)
{
Lcd_Puts(0,1,"Somebody! "); //家中有人
if(baojFlag==0) //非緊急情況
{
if(menlingFlag==1) //門鈴
{
buzzer=1;//打開蜂鳴器
}
else
{buzzer=0;} //關閉蜂鳴器
}
}
else
{
Lcd_Puts(0,1,"Nobody! "); //家中無人
if(baojFlag==0) //非緊急情況
{ buzzer=0;}
}
if(key_menling==0) //檢測
{
menlingFlag=1;
}
else
{menlingFlag=0;} //否則復位標志
if(key_redhot==1) //檢測人體
{
manFlag=1;led_hot = 0;//標志
}
else
{manFlag=0;led_hot = 1;} //否則復位標志
if(key_door==1) //檢測 門狀態
{
doorFlag=1;
}
else
{doorFlag=0;} //否則復位標志
if(key_ligh==1) //檢測光度
{
lighFlag=1;
}
else
{lighFlag=0;} //否則復位標志
}
}
復制代碼
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0