胡偉霞,楊記鑫,陳會麗
(成都理工大學(xué)工程技術(shù)學(xué)院,四川樂山 614000)
在科技快速發(fā)展的今天,每個(gè)人擁有的密碼信息越來越多,例如:開機(jī)密碼、各種各樣的登錄驗(yàn)證密碼等。這些數(shù)字化的密碼很容易被遺忘,也有被竊取的可能性。簡單的數(shù)字密碼鎖、機(jī)械鎖已無法滿足智能的需求。指紋識別技術(shù)是生物識別技術(shù)中發(fā)展最好、最成熟、也是應(yīng)用范圍最廣的[1-4]的技術(shù)。
當(dāng)前密碼鎖大多數(shù)是組合安裝,功能單一,該文設(shè)計(jì)的智能密碼鎖,可以通過數(shù)字密碼和指紋密碼兩種方式開鎖。選用指紋模塊進(jìn)行指紋采集,操作簡便,液晶屏實(shí)現(xiàn)數(shù)據(jù)的顯示功能,此外還實(shí)現(xiàn)語音輸出功能。
該文設(shè)計(jì)的基于STM32F103C8T6單片機(jī)的智能密碼鎖系統(tǒng)由矩陣鍵盤、AS608 指紋模塊、LCD12864液晶顯示屏、繼電器、存儲器、揚(yáng)聲器系統(tǒng)組成,系統(tǒng)框圖如圖1 所示。系統(tǒng)以STM32F103C8T6 為核心模塊,具有5 個(gè)時(shí)鐘,可根據(jù)不同情況搭配使用,成本相對較低、性能強(qiáng),有很多的IO 端口可供使用,能夠精確地進(jìn)行控制[5];指紋模塊選用Synochip公司的光學(xué)指紋識別芯片AS608,芯片集成了指紋識別算法,并配備了串口、USB 通信接口;AT24C02存儲器是一款只讀存儲器,具有串行電可擦除的功能,斷電后仍然會保護(hù)數(shù)據(jù);LCD12864 液晶屏實(shí)現(xiàn)數(shù)據(jù)的顯示功能;使用WEGASUN-M6 實(shí)現(xiàn)語音輸出。
圖1 智能密碼鎖系統(tǒng)框圖
該文采用的電子鎖的工作電壓為12 V,LCD 顯示屏的工作電壓為5 V,單片機(jī)、指紋模塊、揚(yáng)聲器的工作電壓為3.3 V,因此該系統(tǒng)采用12 V 的適配器供電,可以使用XL7005 芯片轉(zhuǎn)換得到5 V 電壓,在輸入端并聯(lián)兩個(gè)濾波電容,以減小噪聲對輸入信號的干擾,輸出端通過穩(wěn)壓設(shè)計(jì),輸出穩(wěn)定的電壓,12 V 轉(zhuǎn)5 V 電路圖如圖2 所示。3.3 V 的電壓通過AMS1117-3.3 芯片[6]從5 V 電壓轉(zhuǎn)化而來,在輸出端加入了輸出濾波電容,用于保持輸出電壓的穩(wěn)定性和瞬態(tài)響應(yīng),進(jìn)一步保證了電壓的精度,5 V 轉(zhuǎn)3.3 V 電路圖如圖3所示。
圖2 12 V轉(zhuǎn)5 V電路圖
圖3 5 V轉(zhuǎn)3.3 V電路圖
該系統(tǒng)采用的LY-03 型STM32F103C8T6 的時(shí)鐘信號由晶振產(chǎn)生,為了保持各部分同步工作,整個(gè)系統(tǒng)共用一個(gè)有源晶振,其時(shí)鐘信號輸入頻率為8 MHz,電路原理圖如圖4 所示。
圖4 晶振與復(fù)位電路圖
該系統(tǒng)采用硬件復(fù)位,其通過按鍵來實(shí)現(xiàn),復(fù)位芯片加到了芯片內(nèi)觸發(fā)器的NRST 端。
該文采用AS608 芯片[7]作為指紋模塊,該模塊中,1 號、6 號引腳和電源連接,2 號引腳和單片機(jī)的TXD 連接,3 號引腳和單片機(jī)的RXD 連接,4 號引腳接地,5 號引腳連接單片機(jī),如圖5 所示。
圖5 指紋模塊連接電路
AT24C02 是一款只讀存儲器,具有串行電可擦除的功能。芯片的內(nèi)部有256×8 bit 的字節(jié),只讀存儲器還帶有一個(gè)緩沖器,器件支持I2C[8]。存儲模塊連接電路圖如圖6 所示。
圖6 存儲模塊連接電路圖
LCD12864 液晶顯示屏是一款帶中文字庫的顯示屏。其支持4×8 的顯示方式,還自帶兩線或三線的串行接口方式[9],顯示電路圖如圖7所示。
圖7 LCD12864液晶顯示屏電路圖
該系統(tǒng)采用LY-03 型號電子鎖,其額定電壓為12 V。為了方便控制整個(gè)電路,給電路加上了穩(wěn)壓器和繼電器。當(dāng)系統(tǒng)發(fā)出指令,指定引腳的電平會拉高,通過打開繼電器開關(guān),繼電器內(nèi)部的另外一條與電子鎖相連的電路被連通,使其通電開鎖,電路如圖8 所示。
圖8 電子鎖電路
該文設(shè)計(jì)的語音模塊可以播放單片機(jī)預(yù)存的常用的語句,例如:“你好,請輸入開鎖密碼”,“暫未識別指紋,請?jiān)僭囈淮巍钡?,單片機(jī)接收到特定的指令,可以控制揚(yáng)聲器播放相應(yīng)的聲音,當(dāng)連續(xù)輸入錯誤的密碼時(shí),也發(fā)出報(bào)警提示,揚(yáng)聲器通過PA8013 放大[10-11]音量,如圖9 所示。
圖9 揚(yáng)聲器電路
該文研究的電子密碼鎖系統(tǒng)的主程序主要是實(shí)現(xiàn)綜合控制,在不同的操作觸發(fā)下調(diào)用不同的子程序來實(shí)現(xiàn)相應(yīng)功能。包括光學(xué)指紋模塊程序、矩陣鍵盤程序、液晶顯示程序等,通過整合上述各子程序來實(shí)現(xiàn)系統(tǒng)的最終流暢運(yùn)行,程序流程如圖10 所示。
圖10 程序流程圖
指紋模塊采用UART 與單片機(jī)通信,對命令、數(shù)據(jù)、結(jié)果的接收和發(fā)送,都采用數(shù)據(jù)包的形式。當(dāng)指紋匹配時(shí),通過指紋傳感器錄入要驗(yàn)證的指紋圖像并進(jìn)行處理,然后與模塊中的指紋模板進(jìn)行匹配比較,模塊給出匹配結(jié)果(通過或失?。詈髥纹瑱C(jī)控制電子鎖動作[12-13]。
按鍵模塊的主要作用是通過用戶按下不同的按鍵來實(shí)現(xiàn)對程序的控制并且實(shí)現(xiàn)相應(yīng)的功能。按下按鍵的時(shí)候需要掃描鍵盤,目的是為了確認(rèn)是否有按鍵按下以及按下的按鍵是哪一個(gè),從而確定將要執(zhí)行的具體功能。按鍵模塊中,用戶選擇按鍵密碼開門后,將進(jìn)入按鍵密碼驗(yàn)證程序。若密碼匹配成功則驅(qū)動電子鎖,若輸入密碼錯誤超過3 次就會進(jìn)行鍵盤自鎖和報(bào)警,同時(shí)加入了按鍵消抖的程序[14-16]。
液晶屏顯示模塊的主要目的是為了實(shí)現(xiàn)人機(jī)的界面交互,也就是用戶根據(jù)頁面顯示的操作指令來完成自己想要的操作,同時(shí)也會把操作的執(zhí)行情況和結(jié)果顯示在屏幕上,讓用戶進(jìn)行下一步操作。
指紋驗(yàn)證是用戶進(jìn)行指紋開鎖的關(guān)鍵所在。在指紋匹配之前錄好指紋,當(dāng)開鎖時(shí),通過指紋傳感器采集用戶的指紋并且進(jìn)行相應(yīng)的處理得到指紋圖像,然后與以前錄好的指紋也就是模塊中的指紋進(jìn)行對比,如果兩個(gè)指紋是相同的,系統(tǒng)將會開鎖。
該文設(shè)計(jì)的指紋模塊與單片機(jī)是通過UART 協(xié)議通信,通過測試,指紋識別功能正常。
顯示屏的調(diào)試主要是通過程序來完成的,將顯示屏的程序燒寫到單片機(jī)上再運(yùn)行,看顯示屏上能不能正確地顯示出輸入的信息。經(jīng)驗(yàn)證,顯示功能正常,滿足實(shí)際需求。
通過常用語句測試語音識別功能,具體語音信息可根據(jù)需求自行設(shè)定,測試語音輸出是否正確。經(jīng)驗(yàn)證,語音輸出功能正常,滿足實(shí)際需求。
該文主要研究了基于STM32F103C8T6 單片機(jī)的智能密碼鎖的設(shè)計(jì),可通過密碼和指紋開門,具有設(shè)置管理員密碼、錄入指紋、指紋登錄、設(shè)置4 位數(shù)字密碼、更改數(shù)字密碼、記錄刪除的功能,并通過顯示屏來顯示信息,同時(shí)還可以進(jìn)行語言播報(bào),該系統(tǒng)具有性價(jià)比高、體積小、方便、易操作、安全性高等優(yōu)點(diǎn)。