涂穎,李剛
(湖北文理學(xué)院 物理與電子工程學(xué)院,湖北襄陽,441053)
一方面在現(xiàn)代化經(jīng)濟(jì)建設(shè)的高速發(fā)展下,各酒店、寫字樓、辦公大廈等地點(diǎn),對門禁系統(tǒng)的需求一直在提高,其核心是對門鎖的開啟關(guān)閉以及監(jiān)控實(shí)現(xiàn)智能化管理,另一方面單片機(jī)已經(jīng)滲入到生活的各個領(lǐng)域,因此利用單片機(jī)的性能特點(diǎn)并聯(lián)系一些外圍芯片和模擬電路設(shè)計(jì)一款基于STM32的智能門禁系統(tǒng)很有現(xiàn)實(shí)意義。
本設(shè)計(jì)由STM32F103C8T6單片機(jī)核心電路+撥動開關(guān)選擇電路+按鍵電路+高亮LED燈電路+LCD1602液晶顯示電路+蜂鳴器報(bào)警電路+熱釋紅外感應(yīng)模塊電路+電源電路組成。熱釋放紅外感應(yīng)模塊可檢測是否有人靠近門,并驅(qū)動液晶屏顯示歡迎詞,同時若在夜間檢測到人體可驅(qū)動高亮LED燈進(jìn)行路燈照明。按鍵撥動開關(guān)電路可設(shè)置系統(tǒng)工作模式,屋內(nèi)有人或無人狀態(tài)。蜂鳴器部分不僅可以起到門鈴作用,還可以作為安防報(bào)警器。系統(tǒng)整體架構(gòu)圖如圖1所示。

圖1 系統(tǒng)整體架構(gòu)框圖
微處理器是整個設(shè)計(jì)的核心,本文所選單片機(jī)控制芯片為STM32F103C8T6單片機(jī)。對于使用同一平臺進(jìn)行多個項(xiàng)目開發(fā)而言,STM32是最佳的平臺選項(xiàng),它能從簡單而成本敏感的應(yīng)用到高端應(yīng)用,從少量的存儲空間和管腳應(yīng)用到可擴(kuò)展更多的存儲空間和管腳的應(yīng)用,同時外設(shè)和軟件的高度兼容充分體現(xiàn)了它的靈活性。
本系統(tǒng)中使用熱釋紅外模塊作為人體感應(yīng)的器件,HC—SR505小型人體感應(yīng)模塊是基于紅外線技術(shù)的自動控制產(chǎn)品,在自動感應(yīng)類電器設(shè)備中應(yīng)用廣泛,工作電壓為4.5~20V,體積小巧、靈敏度高,可靠性強(qiáng)。該模塊可全自動感應(yīng),感應(yīng)距離為3米以內(nèi),進(jìn)入感應(yīng)區(qū)高電平有效,可重復(fù)觸發(fā),模塊檢測到人體的每一次活動后會自動順延一個時間段,如果人體持續(xù)在感應(yīng)范圍內(nèi)活動,它將一直保持高電平有效輸出直到離開,延時時間的起點(diǎn)為最后一次在檢測范圍內(nèi)活動的時間。
本設(shè)計(jì)通過HC—SR505對門前人體進(jìn)行探測,當(dāng)系統(tǒng)探測到人體時,控制引腳給單片機(jī)發(fā)出高低平,使單片機(jī)做出相應(yīng)的指示,即屋中顯示屏顯示“ someone”提示屋主,并且當(dāng)探測到人體在門前徘徊長達(dá)設(shè)定的時間值時蜂鳴器報(bào)警實(shí)現(xiàn)安防功能,如果沒人或者當(dāng)人體離開門前時,輸出低電平讓系統(tǒng)恢復(fù)正常工作狀態(tài)。
圖2電路中熱釋紅外模塊通過PNP三極管9012驅(qū)動,當(dāng)檢測到有人時,單片機(jī)控制引腳為高電平,否則為低電平。
在屋內(nèi)有人的狀態(tài)時,按下就有門鈴響應(yīng),按鍵作為系統(tǒng)的輸入,起到了人機(jī)交互的樞紐作用。默認(rèn)按鍵的控制應(yīng)交為高電平。電路原理圖如圖3,圖中電阻為上拉電阻,保證按鍵信號的穩(wěn)定輸出。

圖2 HC—SR505模塊電路設(shè)計(jì)

圖3 按鍵電路原理圖
本系統(tǒng)選擇光照傳感器模塊對光照進(jìn)行檢測,采用LM393芯片作為比較器使得系統(tǒng)智能區(qū)分白天和黑夜的不同工作狀態(tài),當(dāng)系統(tǒng)處于夜晚模式下,系統(tǒng)探測到人體時會打開門口的燈光,用四個高亮LED燈模擬路燈裝置。
1602液晶又稱1602字符型液晶,它是一種專門用來顯示符號、數(shù)字、字母的點(diǎn)陣型液晶模塊,每個點(diǎn)陣字符位都可以用來顯示一個字符,顯示容量為16×2個字符,操作步驟為:
(1)初始化;
(2)寫命令,即RS=L,設(shè)置顯示坐標(biāo);
(3)寫數(shù)據(jù),即RS=H。

圖4 液晶顯示模塊原理圖
LCD1602采用標(biāo)準(zhǔn)的14腳,它的第三腳通常接可調(diào)電阻,來進(jìn)行液晶顯示器對比度調(diào)節(jié),使其顯示得更加清晰,第4腳是RS寄存器,高數(shù)據(jù)低指令,LCD1602的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的,其內(nèi)部控制器共有11條,具體操作可翻看數(shù)據(jù)手冊。圖4為模塊電路原理圖。
系統(tǒng)運(yùn)行流程圖如圖5所示。首先初始化系統(tǒng)時鐘、IO口以及定時器和外設(shè)串口,然后進(jìn)入按鍵撥動開關(guān)是否觸發(fā)的判斷,若是則進(jìn)行觸發(fā)處理,否則進(jìn)入紅外以及光感采集是否觸發(fā)的判斷,是則驅(qū)動LED路燈照亮,否則根據(jù)不同的工作狀態(tài)進(jìn)行安防或者門鈴設(shè)備的處理,最后驅(qū)動液晶顯示相應(yīng)的信息提示。實(shí)現(xiàn)的情景模式即:當(dāng)屋主撥動開關(guān)設(shè)置為室內(nèi)有人工作模式時,液晶顯示家里有人,蜂鳴器實(shí)現(xiàn)門鈴功能,若光照傳感器檢測到夜晚,則驅(qū)動LED亮起進(jìn)行路燈照亮;無人工作狀態(tài)時,液晶顯示“等您回家”,若紅外檢測到門前有人逗留時間超過設(shè)定值就會啟動安防報(bào)警模式。

圖5 系統(tǒng)運(yùn)行流程圖
程序編譯和調(diào)試:單擊編譯按鈕,系統(tǒng)會對文件進(jìn)行運(yùn)行,在輸出窗口中可看到提示信息,按提示找出錯誤并改正,直到提示沒有錯誤提示為止,程序編譯無錯誤后,進(jìn)入程序調(diào)試狀態(tài),可查看單片機(jī)資源狀態(tài),進(jìn)行斷點(diǎn)等方式調(diào)試。
通過本項(xiàng)設(shè)計(jì)的研究,不僅對門禁系統(tǒng)相關(guān)知識的有更深入的了解,靈活運(yùn)用到了模擬電路的知識,還掌握了STM32系列單片機(jī)的性能特點(diǎn)及連接使用,編程方法,以及一些外圍芯片的使用。該項(xiàng)設(shè)計(jì)在安全防范領(lǐng)域內(nèi)實(shí)現(xiàn)了防盜報(bào)警功能的同時增加了更加豐富的可選工作狀態(tài)模式,以及友好的夜晚路燈照亮模式,有一定的研究價值和趣味性。