田亞立 梁波
(寧夏工業(yè)職業(yè)學(xué)院 寧夏回族自治區(qū)銀川市 750021)
隨著AI技術(shù)及語音識別技術(shù)的迅速發(fā)展,智能家居將是未來家居的發(fā)展趨勢。智能家居的控制方式已經(jīng)由觸控變?yōu)槁暱?,由觸感變?yōu)閷υ?,由低級別的感知智能到高級別的認知智能[1]。智能家居的發(fā)展越來越依賴于人機交互,從而使用語音識別操控家居產(chǎn)品的技術(shù)必定會成為研究的熱點[2]。目前大部分家庭的門禁系統(tǒng)采用機械鎖,機械鎖的安全性及穩(wěn)定性有待于進一步提高。指紋鎖的可靠性相對較高,但價格較高,如果指紋被復(fù)制安全性不能得到保障[3]。語音鎖方便快捷,但易受環(huán)境影響。鑒于此,本設(shè)計采用STC89C52單片機本設(shè)計了一款語音識別與密碼相結(jié)合的密碼鎖,主要用于家居生活中的入戶門、書柜、衣柜等,此設(shè)計既降低了成本,解決了密碼鎖的安全問題又為家居生活帶來了方便、快捷的舒適體驗。
本設(shè)計采用晶宏公司生產(chǎn)的STC89C52RC型單片機(具有快速、低功耗、抗干擾能力強、價格超低等優(yōu)點)負責(zé)計算及控制系統(tǒng)的整體運行,系統(tǒng)包括鍵盤輸入模塊、語音識別模塊、液晶顯示模塊、報警模塊、開鎖模塊。各個模塊之間既相互獨立又相互配合。系統(tǒng)供電后,液晶顯示器顯示要輸入密碼,當(dāng)語音輸入密碼后,語音模塊識別語音密碼是否正確,將結(jié)果送入單片機;當(dāng)矩陣輸入密碼時,單片機通過鍵盤掃描程序識別輸入的密碼并對比。當(dāng)語音與矩陣鍵盤輸入密碼都正確時,液晶顯示器顯示密碼正確,綠色發(fā)光二極管亮。同時單片機給電磁鎖送信號,電磁鎖打開。當(dāng)語音密碼或者矩陣鍵盤密碼其中一個有誤時,紅色發(fā)光二極管亮,液晶顯示器顯示密碼錯誤,密碼最多可輸入三次。系統(tǒng)也可根據(jù)實際需要采用語音或者矩陣鍵盤其中的一種方式來實現(xiàn)門禁系統(tǒng)的開鎖功能。其系統(tǒng)設(shè)計圖見圖1。
圖1:系統(tǒng)整體設(shè)計方案
智能鎖在運行的過程中,需要給控制器、語音模塊、報警模塊顯示模塊及電磁鎖等設(shè)備提供可靠的供電電源,通常智能鎖的電源采用干電池供電,但也存在因為電池電量耗盡無法進門的尷尬情況,本系統(tǒng)采用可充電的鋰電池(XL-5V 1200mAh、約每一年更換一次電池),當(dāng)電池沒電時,可通過充電寶給鋰電池充電,以提高系統(tǒng)供電的可靠性。
系統(tǒng)采用4*4矩陣式按鍵作為系統(tǒng)按鍵密碼輸入設(shè)備,其中0—9為密碼輸入的具體數(shù)字,OK鍵為確認鍵,C鍵為清除鍵。鍵盤由行線和列線組成,行線與列線的交叉處是放置按鍵。按鍵按下時該按鍵點所在的行線和列線被接通,此時單片機采集到的電平會發(fā)生變化,單片機根據(jù)電平的變化便可確定是那個鍵按下了。按鍵電路圖見圖2。
圖2:密碼鎖的按鍵輸入電路
系統(tǒng)采用兩個發(fā)光二極管實現(xiàn)報警。與STC89C52單片機的P2.6和P2.7口相接。當(dāng)密碼八位密碼輸入正確時,綠色指示燈亮;當(dāng)密碼輸入錯誤時,紅色發(fā)光二極管點亮;當(dāng)密碼輸入錯誤累計三次時,紅的發(fā)光二極管閃爍。報警電路如圖3所示。
圖3:報警電路
LD3320語音識別芯片,內(nèi)部已經(jīng)固化了優(yōu)化算法,通過口令觸發(fā)模式和垃圾詞語吸收模式可以提高語音識別的準確度。設(shè)計中語音通訊采用的是串口通訊,直接與STC89C52的RXD信號相連接。工作中將采集的語音信號送入到LD3320,進行解析并提取語音信息,將提取的語音信息與列表中的關(guān)鍵詞進行對比與匹配,找出最匹配的關(guān)鍵詞,送入到STC89C52單片機中。語音信號處理過程如圖4所示。
圖4:語音信號處理過程圖
系統(tǒng)采用LCD1602液晶顯示器進行密碼鎖相關(guān)信息的顯示。數(shù)據(jù)信號D0-D7與STC89C52單片機的P0口相接,控制信號RS、RW和EP分別接在P2口的第0、1和2位上。VSS、VDD、VEE與1K滑動變阻器構(gòu)成液晶顯示器的電源電路。上電后首先在第一行顯示“the code is:”。當(dāng)輸入密碼后,在第二行顯示輸入的密碼。若密碼正確則在第一行顯示“welcome”,密碼錯誤顯示“try again”。密碼累計三次輸入錯誤,顯示“Wrong!!”。液晶顯示電路如圖5所示。
圖5:液晶顯示電路
密碼鎖采用繼電器控制代替開鎖機構(gòu),電路由三極管放大電路、繼電器、指示燈和直流電源組成。放大電路的基極接于STC89C52單片機的P2.5口。當(dāng)密碼輸入正確時,單片機送給P2.5一個低電平信號,放大電路導(dǎo)通,繼電器吸合,密碼鎖打開,開鎖指示燈亮。電磁繼電器控制電路如圖6所示。
圖6:電磁繼電器開鎖電路
軟件的設(shè)計包括:主程序控制的設(shè)計、語音控制設(shè)計、液晶顯示設(shè)計、鍵盤輸入設(shè)計、顯示報警設(shè)計等。
密碼鎖控制系統(tǒng)的主程序包括初始化子程序、設(shè)置初始密碼、設(shè)置密碼的顯示位置、設(shè)置密碼輸入的次數(shù)、讀取鍵值、顯示子函數(shù)、語音子函數(shù)和按鍵值函數(shù)等。系統(tǒng)設(shè)置了三種程序選擇模式。在模式選擇時,系統(tǒng)默認為語音按鍵組合模式,當(dāng)開啟選擇模式時,若選擇0,則為語音模式;選擇1,則為按鍵模式。確定了密碼鎖的工作模式,便根據(jù)選擇的模式不同,執(zhí)行不同的子程序。主程序流程如圖7所示。
圖7:主程序流程圖
語音控制程序主要包括初始化、語音對比識別。為了確保語音識別的效率,首先設(shè)置一級觸發(fā)指令“你好”,當(dāng)采集到一級指令后,進入二級指令采集過程,采集到的信號與存儲到單片機中的常用的特征信號進行對比,并將對比結(jié)果相匹配的數(shù)據(jù)讀出,經(jīng)過處理后送LCD進行顯示,同時接通電磁繼電器。語音程序流程如圖8所示。
圖8:語音程序流程圖
為了減少單片機I/O接口的占用,本設(shè)計采用矩陣鍵盤,鍵盤接至單片機的P1口。進入鍵盤子程序,先設(shè)置行碼和列碼。程序執(zhí)行時,首先判斷是否有鍵按下,如果有鍵按下,逐行掃描,進一步判斷是哪一行的按鍵按下了。當(dāng)確定了某一行有鍵按下后,再確定是那一列中的鍵按下了,通過行和列的信號,最終可判斷出哪一個按鍵按下了。確定按鍵后返回鍵值。其流程圖如圖9所示。
圖9:鍵盤掃描程序流程圖
LCD顯示主要包括LCD初始化、測試LCD忙碌狀態(tài)、設(shè)定顯示位置、寫數(shù)據(jù)到LCD、設(shè)置顯示格式及LCD顯示等。初始化階段主要設(shè)置顯示格式、顯示光標及清除LCD顯示內(nèi)容的等。讀信號時,當(dāng)密碼正確時顯示“right”,當(dāng)錯誤時,有三次機會,每次都判斷密碼的準確性,三次都錯就顯示“wrong”,并將信號送單片機。LCD顯示子程序如圖10所示。
圖10:液晶顯示程序流程圖
目前,密碼鎖、指紋鎖及語音識別技術(shù)等在安全鎖領(lǐng)域具有廣闊的市場前景,隨著密碼破解和造假指紋技術(shù)的發(fā)展,人們對安全鎖的要求越來越高,單一加密方式的安全鎖已經(jīng)不能滿足人們的要求,具有多重加密方式的安全鎖將是今后密碼鎖的一種發(fā)展趨勢。本設(shè)計將語音識別技術(shù)與密碼鎖相結(jié)合,設(shè)計了語音與密碼輸入的雙重加密方式,安全性得到較大的提高。系統(tǒng)的設(shè)計靈活可靠,加密模式可選擇,不僅適用于入戶門還適用于智能家居中的臥室門、衣柜門等,為安全鎖提供了一個解決方案,為家居生活提供了便利。