?最近設計了一個項目基于單片機的智能門禁控制系統(tǒng)設計,與大家分享一下:
一、基本介紹
項目名:基于單片機的門禁的設計
單片機:STM32F103C8T6
mcuclub-dz-032
功能簡介:
1、通過掃碼槍進行掃描二維碼,當二維碼識別成功,10s內(nèi)需觸發(fā)紅外避障管,并通過紅外測溫模塊進行測溫,如果溫度正常,則自動開鎖,如果溫度異常,則聲光報警3次,鎖不打開
2、通過RFID進行刷卡,當卡識別成功,10s內(nèi)需觸發(fā)紅外避障管,并通過紅外測溫模塊進行測溫,如果溫度正常,則自動開鎖,如果溫度異常,則聲光報警3次,鎖不打開
3、通過指紋模塊,當指紋識別成功,10s內(nèi)需觸發(fā)紅外避障管,并通過紅外測溫模塊進行測溫,如果溫度正常,則自動開鎖,如果溫度異常,則聲光報警3次,鎖不打開
4、通過內(nèi)部RTC時鐘同步時間,從而獲取年月日時分秒星期
5、通過按鍵可以修正時間、設置溫度上下限值、添加刪除二維碼、RFID卡、指紋
6、通過OLED顯示測量數(shù)據(jù)
二、32實物圖
單片機型號:STM32F103C8T6
板子為綠色PCB板,兩層板,厚度1.2,上下覆銅接地。元器件基本上為插針式,個別降壓芯片會使用貼片式。
供電接口:TYPE-C
三、原理圖
軟件版本:AD2013
電路連線方式:網(wǎng)絡標號連線方式
注意:原理圖只是畫出了模塊的引腳圖,而并不是模塊的內(nèi)部結構原理圖
?四、PCB圖
由原理圖導出,封裝很大一部分都是作者自己繪制,不提供封裝庫,只提供連接好的源文件。中間有一個項目編號,隱藏在單片機底座下,插入單片機后不會看到。
兩層板,上下覆銅接地。
?五、系統(tǒng)框圖
本設計以STM32單片機為核心控制器,加上其他模塊一起組成此次設計的整個系統(tǒng),其中包括控制部分、輸入部分和輸出部分??刂撇糠植捎昧薙TM32單片機控制器,其主要作用是獲取輸入部分的數(shù)據(jù),經(jīng)過內(nèi)部處理,邏輯判斷,最終控制輸出部分。輸入由四部分組成,第一部分是非接觸溫度檢測模塊,通過該模塊檢測指紋識別信息;第二部分是紅外避障模塊,通過該模塊對人體溫度進行測量;第三部分是按鍵模塊,通過按鍵可以修正時間、設置溫度上下限值、添加刪除二維碼、RFID卡、指紋;第四部分是供電模塊,通過該模塊可給整個系統(tǒng)進行供電。輸出由七部分組成,第一部分是OLED顯示模塊,通過該模塊可以顯示監(jiān)測的數(shù)據(jù)以及設置的閾值;第二部分是RFID刷卡模塊,通過RFID進行刷卡,當卡識別成功,10s內(nèi)需觸發(fā)紅外避障管,并通過紅外測溫模塊進行測溫,如果溫度正常,則自動開鎖,如果溫度異常,則聲光報警3次,鎖不打開;第三部分是掃碼槍模塊,通過掃碼槍進行掃描二維碼,當二維碼識別成功,10s內(nèi)需觸發(fā)紅外避障管,并通過紅外測溫模塊進行測溫,如果溫度正常,則自動開鎖,如果溫度異常,則聲光報警3次,鎖不打開;第四部分是指紋模塊,通過指紋模塊,當指紋識別成功,10s內(nèi)需觸發(fā)紅外避障管,并通過紅外測溫模塊進行測溫,如果溫度正常,則自動開鎖,如果溫度異常,則聲光報警3次,鎖不打開;第五部分是存儲模塊,通過存儲模塊對數(shù)據(jù)進行存儲;第六部分是繼電器模塊,通過繼電器控制系統(tǒng)對應的功能;第七部分是聲光報警模塊,當監(jiān)測值不在設置的閾值內(nèi)時進行聲光報警。具體系統(tǒng)框圖如圖3.1所示。
六、軟件設計流程
系統(tǒng)的主流程圖如圖4-2所示。在主程序中:首先對各個模塊進行初始化,隨后進入while主循環(huán),在主循環(huán)中,首先進入第一個函數(shù)按鍵函數(shù),該函數(shù)主要分為兩部分,第一部分為調用按鍵掃描函數(shù)獲取按鍵鍵值,第二部分通過按鍵可以修正時間、設置溫度上下限值、添加刪除二維碼、RFID卡、指紋;緊接著進入第二個函數(shù)監(jiān)測函數(shù),該函數(shù)主要通過調用相應的驅動函數(shù)獲取測量值。緊接著進入第三個函數(shù)顯示函數(shù),該函數(shù)顯示監(jiān)測值及閾值;最后進入第四個函數(shù)處理函數(shù),該函數(shù)主要判斷接觸觸發(fā)時間是否大于10S,如果大于10S,表明觸發(fā)成功,進入下一步的數(shù)據(jù)監(jiān)測,反之,啟動聲光報警系統(tǒng)觸發(fā)報警,隨后進入人體溫度值判斷,如果溫度大于設置的最大值,則聲光報警,如果溫度小于設置的最小值,則聲光報警,如果溫度在設置的閾值之內(nèi),則取消聲光報警,門正常打開,為業(yè)主提供通道。
?七、部分程序展示
軟件版本:keil5
邏輯程序和驅動程序分開,分布于main.c和其他.c文件
*******處理函數(shù)
*****/
void Manage_function(void)
{
?? ?if(flag_display == 0) ? ? ? ? ? ? ? ? ??? ?//測量界面
?? ?{
?? ??? ?if(flag_measuring == 1)
?? ??? ?{
?? ??? ??? ?if(temp_count >= 2)?? ??? ??? ??? ??? ??? ??? ??? ??? ?//如果溫度檢測完成
?? ??? ??? ?{
?? ??? ??? ??? ?if(temp_value > temp_max*10 || temp_value < temp_min*10) ?//溫度異常聲光報警
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?if(beep_count == 0)
?? ??? ??? ??? ??? ??? ?beep_count = 6;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//溫度正常,開門
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?RELAY_D = 1;
?? ??? ??? ??? ??? ?Delay_ms(1000);Delay_ms(1000);
?? ??? ??? ??? ??? ?RELAY_D = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?temp_count = 0;
?? ??? ??? ??? ?temp_value = 0;
?? ??? ??? ??? ?flag_measuring = 0;
?? ??? ??? ??? ?Oled_ShowString(4,0," ? ? ? ? ?");
?? ??? ??? ?}
?? ??? ??? ?if(flag_10s == 1)?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//如果10S沒有檢測完成,本次觸發(fā)無效
?? ??? ??? ?{
?? ??? ??? ??? ?flag_timer_begin_10s = 0;
?? ??? ??? ??? ?flag_10s = 0;
?? ??? ??? ??? ?flag_measuring = 0;
?? ??? ??? ??? ?temp_count = 0;
?? ??? ??? ??? ?temp_value = 0;
?? ??? ??? ??? ?Oled_ShowString(4,0," ? ? ? ? ?");
?? ??? ??? ?}
?? ??? ?}文章來源:http://www.zghlxwxcb.cn/news/detail-799634.html
?? ??? ?if(beep_count > 0)?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//聲光報警有計數(shù)時,聲光報警
?? ??? ?{
?? ??? ??? ?if(time_num % 3 == 0)
?? ??? ??? ?{
?? ??? ??? ??? ?LED = ~LED;
?? ??? ??? ??? ?BEEP = ~BEEP;
?? ??? ??? ??? ?if(beep_count > 0)
? ? ? ? ? beep_count--;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?LED = 1;
?? ??? ??? ?BEEP = 0;
?? ??? ?}
?? ?}
?? ?else?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ? ? ? ? ? //設置界面,關閉聲光報警
?? ?{
?? ??? ?flag_timer_begin_10s = 0;
?? ??? ?flag_10s = 0;
?? ??? ?flag_measuring = 0;
?? ??? ?temp_count = 0;
?? ??? ?temp_value = 0;
?? ??? ?LED = 1;
?? ??? ?BEEP = 0;
?? ?}
}文章來源地址http://www.zghlxwxcb.cn/news/detail-799634.html
到了這里,關于【單片機畢業(yè)設計】【mcuclub-dz-032】基于單片機的智能門禁控制系統(tǒng)設計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!