



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、聲控電子鎖設(shè)計摘要隨著科技的發(fā)展與進(jìn)步,人們的生活習(xí)慣也逐漸受到新的科技技術(shù)的影響,而逐漸發(fā)生改變。 鎖具作為生活中最常用的設(shè)備之一, 經(jīng)過了幾百年的發(fā)展, 其功能未發(fā)生重大變化, 但其結(jié)構(gòu)設(shè)計隨著科技的進(jìn)步而進(jìn)步。 本設(shè)計提出了一種聲控電子鎖的設(shè)計, 該設(shè)計利用聲音作為控制鎖具開關(guān)的鑰匙, 實現(xiàn)了免鑰匙開鎖功能,方便人們的出行。本次設(shè)計使用聲音傳感器模塊與單片機設(shè)計,聲音傳感器使用駐極體話筒與相關(guān)放大電路的設(shè)計,單片機采用速度較快的Atmel的 AVR系列單片機,實現(xiàn)了對整個鎖具的控制功能。本次設(shè)計將對整個系統(tǒng)的硬件單元與軟件程序進(jìn)行設(shè)計, 硬件包括中央控制電路的設(shè)計, 顯示單元設(shè)計, 聲音
2、識別與傳感系統(tǒng)的設(shè)計以及相關(guān)執(zhí)行單元的設(shè)計。 而對軟件程序的設(shè)計包括對顯示程序的設(shè)計, 對聲音識別控制程序的設(shè)計等。 系統(tǒng)的軟件程序與硬件系統(tǒng)相互配合共同完成系統(tǒng)地工作, 實現(xiàn)聲音控制的功能。 該聲控電子鎖設(shè)計能夠?qū)崿F(xiàn)聲音控制開啟,替代目前的機械鎖設(shè)計,為未來的鎖具實現(xiàn)形式之一。關(guān)鍵字:聲控;電子鎖; AVR;傳感器AbstractWith the development and progress of science and technology, people'sliving habits are gradually affected by new technology and t
3、echnology,and gradually change. As one of the most commonly used devices in dailylife, the lock has not changed significantly in function after hundredsof years of development, butitsstructuraldesign has improved withtheprogressofscienceand technology.Thisdesignputs forwarda designofsound controlele
4、ctroniclock, which USESsound as the key tocontrolthelock switchand realizesthefunctionofkeylessopening and locking,soas to facilitate people's travel. This design USES sound sensor moduleand microcontroller design, sound sensor using the electret microphoneand therelatedthedesignoftheamplifyingc
5、ircuit,single chipmicrocomputer using fast AtmelAVR series MCU, realizes the controlfunction of the lock. Unit, the design will be for the whole systemhardware and softwaredesign,hardware includingthe designofthe centralcontrolcircuit,thedisplayunitdesign,voice recognitionisassociatedwith the design
6、 of the sensor system and the execution unit design. Thesoftware program design includes the display program design, the voicerecognitioncontrolprogram designand so on. The softwareprogram ofthesystem and the hardware system cooperate to complete the work of the system and realize the function of so
7、und control. This sound control electronic lock design can realize sound control opening, replacing the current mechanical lock design, as one of the future lock implementation forms.Key words: voice control; Electronic lock; AVR. The sensor目 錄摘要2Abstract3第一章緒論51.1 本設(shè)計研究背景及意義51.2 國外研究現(xiàn)狀51.3 本論文主要容6第
8、二章系統(tǒng)的結(jié)構(gòu)與功能設(shè)計72.1 系統(tǒng)的功能設(shè)計72.2 系統(tǒng)的結(jié)構(gòu)設(shè)計7第三章聲控電子鎖硬件設(shè)計93.1 中央控制器設(shè)計93.2 顯示模塊設(shè)計103.3 聲音傳感器設(shè)計14第四章軟件程序設(shè)計164.1 顯示程序設(shè)計164.2 密碼識別程序設(shè)計194.3 系統(tǒng)總程序設(shè)計26第五章系統(tǒng)的組裝與調(diào)試285.1 系統(tǒng)的組裝285.2 系統(tǒng)的調(diào)試29參考文獻(xiàn)31致32第一章緒論1.1本設(shè)計研究背景及意義隨著科技的進(jìn)步與社會的發(fā)展, 人們生活水平越來越高, 生活也越來越方便。我國乃至世界鎖具的發(fā)展經(jīng)歷了幾百年時間, 已經(jīng)進(jìn)化成相對完善的結(jié)構(gòu)。 鎖具經(jīng)過了幾百年的變化與發(fā)展, 其基本功能未發(fā)生根本性的變化
9、, 依舊為為人們的生命財產(chǎn)安全保駕護(hù)航。 但隨著科技的進(jìn)步與發(fā)展, 鎖具的形式更加多樣, 結(jié)構(gòu)也更為復(fù)雜,更難被破解。發(fā)展至今,人們最常用的鎖具依舊為機械結(jié)構(gòu),隨著電子科技的進(jìn)步與發(fā)展, 新式的電子鎖逐漸發(fā)展起來, 最為常用的即為常見的樓宇門電磁鎖,其為電子鎖的一類代表, 其部采用電磁結(jié)構(gòu)控制鎖具的開啟與關(guān)閉,利用射頻識別技術(shù)或遠(yuǎn)程開鎖功能, 能夠?qū)㈡i打開, 實現(xiàn)無鑰匙開鎖。 該鎖并非真正意義上的電子鎖。 其任然采用機械式設(shè)計, 配有鑰匙開孔, 加密方式以機械式加密為主, 但能夠?qū)崿F(xiàn)一定的電子鎖性能, 能夠?qū)崿F(xiàn)非接觸式開鎖功能。 隨著電子技術(shù)的發(fā)展與加密技術(shù)的進(jìn)步, 新式的智能門鎖逐漸涌現(xiàn)出來
10、。 智能門鎖采用電子加密的方式, 采用全電子結(jié)構(gòu)設(shè)計, 配合智能識別的方式, 能夠?qū)崿F(xiàn)人臉識別,指紋識別,虹膜識別等多種識別方式開啟電子鎖。 此類電子鎖的設(shè)計大大方便了人們的出行, 人們出行不再需要攜帶大量的鑰匙, 也不必再擔(dān)心因鑰匙丟失或忘記攜帶造成無法進(jìn)門的情況發(fā)生。 本次設(shè)計提出了一種新式的聲控電子鎖的設(shè)計,該設(shè)計使用聲音作為識別密碼, 通過不同的聲音組合形式組成一組聲控密碼,電子鎖通過識別該密碼, 控制鎖的開啟與關(guān)閉, 可以大大方便人們的生活與出行,實現(xiàn)無鑰匙開鎖的操作。1.2國外研究現(xiàn)狀家庭防盜措施伴隨著家庭概念的產(chǎn)生而產(chǎn)生。 最初的防盜措施僅僅為一扇門經(jīng)過了幾十上百年的發(fā)展。 才產(chǎn)
11、生了鎖具, 鎖具經(jīng)過了幾千年的發(fā)展。 到今天仍舊為家庭防盜最主要的措施。 從第一只鎖具誕生到今天本所的發(fā)展已經(jīng)經(jīng)過了成百上千年的時間。 鎖具的根本功能并未發(fā)生變化, 其主要作用依舊為保護(hù)居民財產(chǎn)安全。第一次鎖具由中國人發(fā)明。 但隨著時代的發(fā)展, 外國技術(shù)的不斷進(jìn)化使得國外防盜措施水平遠(yuǎn)遠(yuǎn)超過了我國, 尤其在近些年現(xiàn)在電子技術(shù)的發(fā)展以及人們創(chuàng)新能力的提高。 使得國外的防盜措施的防盜水平也越來越高。 隨著時代的發(fā)展與科技的進(jìn)步。國外科技依舊在不斷發(fā)展之中, 國外的防盜水平也將越來越高。目前已出現(xiàn)了各種各樣的新式防盜設(shè)施, 例如指紋鎖, 密碼鎖,人臉識別等身份識別模式,使用紅外探測等方式設(shè)計的防盜系
12、統(tǒng)也越來越多。隨著外國技術(shù)的涌入中國的防盜系統(tǒng)也在跟隨世界的變化而更新。 中國防盜技術(shù)的發(fā)展整體落后于世界的平均發(fā)展水平。 大部分家庭依舊使用傳統(tǒng)的機械防盜鎖作為自家的防盜系統(tǒng)而國外的電子系統(tǒng)尚未普及。 隨著中國科學(xué)技術(shù)的進(jìn)步, 國民素質(zhì)的提高創(chuàng)新能力的增強我國在防盜系統(tǒng)的研究上。 將逐步追趕世界水平并不斷進(jìn)步達(dá)到跟世界水平相同的層次。1.3本論文主要容本論文旨在設(shè)計一款基于單片機的聲控電子鎖, 該電子鎖能夠?qū)崿F(xiàn)聲音控制的功能,能夠通過輸入一系列聲音數(shù)據(jù)控制鎖的開啟與關(guān)閉, 該聲控電子鎖的主要功能依舊為實現(xiàn)鎖具的基本功能, 保護(hù)人民的生命財產(chǎn)安全, 但本設(shè)計改變了以往的鎖具的機械控制結(jié)構(gòu), 改
13、用電子控制結(jié)構(gòu), 實現(xiàn)了電子鎖的設(shè)計。 本論文將對該聲控電子鎖的功能與實現(xiàn)結(jié)構(gòu)進(jìn)行分析, 分析實現(xiàn)聲控電子鎖應(yīng)具有的結(jié)構(gòu)。并依據(jù)結(jié)構(gòu)與功能設(shè)計, 對系統(tǒng)的硬件單元進(jìn)行設(shè)計。 系統(tǒng)的硬件單元包含中央控制器, 本設(shè)計將對中央控制器的控制電路, 電源電路,接口電路等電路進(jìn)行設(shè)計。之后,本設(shè)計將對聲音傳感電路進(jìn)行設(shè)計, 聲音傳感電路包含駐極體話筒,聲音放大電路等電路設(shè)計,同時,本設(shè)計將對顯示模塊進(jìn)行設(shè)計,對顯示器件進(jìn)行選型與設(shè)計,將完成整個系統(tǒng)地硬件電路設(shè)計。完成硬件電路設(shè)計之后,本設(shè)計將對系統(tǒng)地軟件程序進(jìn)行設(shè)計,軟件程序包含聲音傳感程序,顯示程序,密碼判斷程序, 系統(tǒng)加密程序等諸多程序組成, 本設(shè)計
14、將在完成系統(tǒng)的硬件電路設(shè)計與軟件程序設(shè)計后, 購買相關(guān)實際電子元器件等, 對實際電路進(jìn)行組裝, 并對實物進(jìn)行調(diào)試,完成本設(shè)計的所有設(shè)計功能。第二章系統(tǒng)的結(jié)構(gòu)與功能設(shè)計2.1系統(tǒng)的功能設(shè)計本設(shè)計旨在設(shè)計一款聲控電子鎖, 替代傳統(tǒng)的機械鎖設(shè)計, 系統(tǒng)使用聲音密碼作為系統(tǒng)密碼,系統(tǒng)具有聲音密碼控制,液晶顯示,密碼錯誤報警等功能,主要功能如下所示。( 1)聲音密碼控制功能:系統(tǒng)通過一定的聲音密碼對整個系統(tǒng)進(jìn)行控制,系統(tǒng)能夠識別聲音數(shù)據(jù), 并對聲音密碼進(jìn)行記錄, 通過有聲與無聲兩種方式, 對密碼進(jìn)行錄入,當(dāng)錄入的密碼正確時,系統(tǒng)可將門鎖打開,錯誤時,不打開門鎖,以此來替代傳統(tǒng)的機械結(jié)構(gòu)。( 2)液晶顯示
15、功能:能夠通過液晶顯示對系統(tǒng)的狀態(tài)進(jìn)行實時顯示,并對用戶的操作給與一定的指導(dǎo), 例如,無密碼輸入時顯示歡迎界面, 輸入密碼時提示用戶輸入密碼, 密碼輸入正確顯示輸入正確, 輸入錯誤時顯示輸入錯誤信息, 幫助用戶完成整個操作,提供友好的人機交互功能。( 3)報警功能:當(dāng)用戶輸入密碼錯誤次數(shù)過多時,系統(tǒng)能夠提供報警功能,報警功能包括聲音報警與光報警, 報警存在的意義為若為外人闖入, 報警聲能夠震懾罪犯,阻止其闖入,同時能夠吸引其他住戶的注意,阻止罪犯犯罪。2.2系統(tǒng)的結(jié)構(gòu)設(shè)計系統(tǒng)主要包含輸入設(shè)備, 中央控制器, 輸出設(shè)備幾部分組成, 其組成結(jié)構(gòu)如圖 2-1 所示。圖 2-1 系統(tǒng)結(jié)構(gòu)框圖其中輸入設(shè)
16、備為拾音器與功率放大器, 拾音器作用為感知外界聲音, 并轉(zhuǎn)換為電信號,由于拾音器的轉(zhuǎn)換功率較小, 輸出功率不足以被中央控制器感知, 因此需要與功率放大器配合使用, 功率放大器負(fù)責(zé)對電信號進(jìn)行放大, 放大至單片機能夠識別的狀態(tài), 之后將聲音數(shù)據(jù)傳送至中央控制器, 中央控制器為系統(tǒng)的核心,負(fù)責(zé)整個系統(tǒng)的運行。 輸出設(shè)備包括顯示器件, 門鎖控制器以及聲光報警器組成,顯示器件能夠?qū)ο嚓P(guān)信息進(jìn)行顯示, 輔助用戶開鎖, 門鎖控制器負(fù)責(zé)對門鎖進(jìn)行控制,能夠控制門鎖的開啟與關(guān)閉, 而聲光報警單元作用是發(fā)出聲光報警,在用戶輸入密碼錯誤次數(shù)過多時, 發(fā)出聲光報警, 提醒用戶或起到震懾犯罪的功能,系統(tǒng)的各個模塊共同
17、組建成該系統(tǒng),各個模塊缺一不可,相互配合,實現(xiàn)系統(tǒng)功能。第三章聲控電子鎖硬件設(shè)計3.1中央控制器設(shè)計中央控制電路是整個系統(tǒng)的核心,為保證系統(tǒng)的穩(wěn)定運行,本設(shè)計選用 Arduino 控制器作為我們系統(tǒng)的核心,該控制器有眾多分支,我們使用最常用的 Arduino Uno 作為我們的控制器設(shè)計,其引腳多,技術(shù)成熟,適合長時間運行。 Arduino Uno 控制器如下圖所示:圖3-1 Arduino Uno控制器其控制芯片為Atmel328p,為8 位單片機設(shè)計,置32K 程序存儲器與2K 存存儲器,最大時鐘頻率40MHz,帶有 1K 容量的 EEPROM,該芯片共 32 枚引腳,含有 6 通道的 1
18、0 位 ADC,6枚 PWM輸出引腳,其運行速度能夠滿足我們的要求,也可滿足本論文的設(shè)計要求,因此,我們選擇該控制器作為我們的控制器設(shè)計。該控制器共有 14 位數(shù)字引腳, 6 位模擬引腳,模擬引腳也具備數(shù)字信號輸入輸出功能, 同時具備 3.3V 與 5V 電壓輸出功能, 帶有一個串口, 一個電源輸入引腳,其采用的控制芯片速度是普通 51 單片機的幾倍,擁有更加強大的控制能力。其各個引腳作用如表 3.1 所示:引腳名稱0表3.1 Arduino Uno控制器引腳功能功能數(shù)字信號輸入輸出引腳0 號引腳,同時作為串口信號 RX端。1數(shù)字信號輸入輸出引腳 1 號引腳,同時作為串口信號 TX 端。2-1
19、3數(shù)字信號輸入輸出引腳, 帶有 的引腳可作為 PWM脈沖寬度調(diào)制信號輸出引腳。A0-A5模擬信號輸入引腳,同時可兼用作數(shù)字信號輸入輸出引腳。AREF模擬輸入信號,參考電壓。IOREFIO 引腳接口信號參考電壓。5V5V 電壓輸出3.3V3.3V 電壓輸出GND電源地VIN外部電源輸入引腳,支持最大外部輸入電壓 12V。在編寫程序?qū)σ_進(jìn)行操作時,需先定義引腳功能,之后對引腳進(jìn)行操作。3.2顯示模塊設(shè)計顯示模塊的作用是顯示設(shè)置的結(jié)果,顯示數(shù)據(jù)較少, 因此,我們選擇雙行顯示模塊 LCD1602負(fù)責(zé)對測量結(jié)果進(jìn)行顯示。LCD1602是非常常用的顯示器件,支持雙行顯示,每行16 個字符,共計 32個字
20、符,常見的1602 模塊如圖 3-2 所示:圖 3-2 LCD1602 模塊其支持 4 位傳輸模式與 8 位傳輸模式,可塑性大,通常 LCD1602模塊都支持背光,其使用點陣液晶顯示板,每個字符占據(jù) 5x11 個點陣,共可顯示兩行,其支持 ASCII 碼顯示,自帶字庫,可直接輸送 ASCII 碼序號。在 LCD1602啟動時,需對其進(jìn)行初始化設(shè)置,初始化命令如表 3.2 所示:表 3.2 LCD1602 控制命令表RR/DD6D5D4D3D2D1D0說明SW7清 顯0000000001將 DDRAM填滿 "20H",示并且設(shè)定 DDRAM的地址計數(shù)器(AC)到"0
21、0H"歸位000000001*設(shè)定 DDRAM的地址計數(shù)器 (AC) 到 "00H", 并且將游標(biāo)移到開頭原點位置 ; 這個指令不改變 DDRAM的容顯 示0000001DCBD=1: 整體顯示開 關(guān)ON , C=1: 游 標(biāo)控制ON,B=1: 游標(biāo)位置反白允許 進(jìn) 入00000001I/SI/D=1 ,光標(biāo)或閃爍向模 式D右移動, AC增加 1。設(shè)置I/D=0 ,光標(biāo)或閃爍向左移動,AC減少 1,S整個顯示移動光 標(biāo)000001S/R/*光標(biāo)或顯示移位指令或 顯CL可使光標(biāo)或顯示在沒示 移有讀寫數(shù)據(jù)的情況位 指下,向左或向右移動 ,令指令不改變 DDRAM的容功
22、 能00001DLNF*DL=0/1 : 4/8位數(shù)設(shè)定據(jù),N=0/1, 單行 / 雙行顯示 ,F=0/1,5*8/5*10 點陣顯示模式 設(shè) 置0001ACACACACACACCGRAM地址設(shè)置指令CGRA543210設(shè)置 CGRAM地址指M 地針,址設(shè) 定0010ACACACACACACDDRAM地址設(shè)置指令DDRA543210設(shè)置 DDRAM地址。一M 地行地 址圍 00H4FH,址兩行 DDRAM地址第一行 00H27H,第二行40H67H,讀 忙01BACACACACACACACBF:忙標(biāo)志位 ,BF=1,標(biāo) 志F 6543210模塊正在進(jìn)行部操和 地作,此時模塊不接受址任何外部指令
23、和數(shù)據(jù)。 BF=0,模塊可以接受外部的指令和數(shù)據(jù);寫10DD6D5D4D3D2D1 D0 將數(shù)據(jù) D7-D0寫入到RAM7部的 RAM,將用戶自指令定義的字符寫入CGRAM中, D7D5為000,D4D0為 5 點的字模數(shù)據(jù)讀11DD6D5D4D3D2D1 D0 從部 RAM讀取數(shù)據(jù)RAM7D7 D0指令其引腳圖如圖 3-3 所示:圖 3-3 LCD1602 引腳圖LCD1602共有 16 枚引腳組成,其中 1 號腳為電源地腳, 2 號腳為電源正極引腳, VCOM腳為對比度調(diào)節(jié)引腳, RS 引腳為命令數(shù)據(jù)標(biāo)志位, 0 為寫入指令, 1 為寫入數(shù)據(jù), RW引腳為讀寫標(biāo)志位, 0 為寫入, 1 為
24、讀取, E 為使能引腳,高電平有效, P00-P07 為數(shù)據(jù)命令復(fù)用引腳,共計 8 根,其運行在 8 位模式下需 8 位引腳,運行在 4 位模式下需 P04-P07 四位引腳,BLA為背光引腳, BLA+為背光正,BLA-為背光負(fù)。在使用 LCD1602需先對其進(jìn)行初始化設(shè)置,才能對其進(jìn)行讀寫操作。3.3聲音傳感器設(shè)計聲控電路通常采用駐極體話筒與相關(guān)檢測放大電路相結(jié)合的形式進(jìn)行設(shè)計, 駐極體話筒是一類聲音傳感器, 負(fù)責(zé)感知外界聲音, 并轉(zhuǎn)換成電信號, 檢測電路在接收到該電信號后進(jìn)行響應(yīng), 打開開關(guān),實現(xiàn)聲音傳感, 聲控開關(guān)總體結(jié)構(gòu)圖如圖3-4 所示:圖 3-4 聲控電路結(jié)構(gòu)首先,聲音經(jīng)過駐極體
25、話筒的轉(zhuǎn)化變成聲電信號,該聲電信號被送至下一級的放大電路中。 放大電路將對該聲電信號進(jìn)行放大, 經(jīng)過放大的信號被送入下一句聲電轉(zhuǎn)換電路中, 該電路會將該信號轉(zhuǎn)換成相應(yīng)的電信號, 在電電信號超過設(shè)定閾值時,便會啟動電路,接通開關(guān),實現(xiàn)聲音控制的功能。駐極體話筒是一類聲音傳感器,其部有兩片相互間隔較近的金屬薄片組成,通常,其中一枚薄片為金屬制作,另一層為塑料膜狀片,片上涂有金屬涂料,在一枚金屬薄片上加有一高電壓,正電荷會在薄片上積累, 因此,在薄膜上將會感應(yīng)出一低電壓, 電子在薄膜上積累, 當(dāng)外界存在聲音時, 聲音傳導(dǎo)至薄膜引起薄膜的震動,薄膜與金屬薄片之間的距離隨聲音的震動而發(fā)生不斷地變化,由于
26、金屬薄片之間距離的變化, 引起兩金屬片之間電容的改變,電容的變化引起薄片上存儲電荷的改變, 由此產(chǎn)生一個變化的電壓, 該電壓與聲音變化同步, 實現(xiàn)了對聲音信號的采集。被采集的聲音以電壓的方式傳入下一級的放大電路中, 放大電路通常采用電壓放大電路設(shè)計, 能夠?qū)崿F(xiàn)對電壓的放大, 由于由聲音引起的電壓信號較小, 因此,對該放大電路要求其放大倍數(shù)較高, 為實現(xiàn)較高的放大倍數(shù), 該放大電路通常采用運算放大器進(jìn)行設(shè)計, 運算放大器是一類放大元件, 本身由于理想運算放大器的放大倍數(shù)為無窮大, 但由于在現(xiàn)實條件下無法達(dá)到理想狀態(tài), 因此,通常所用的運算放大器的放大倍數(shù)為 1 萬倍或更低,由于運算放大器的放大倍
27、數(shù)較高,直接使用運算放大器放大將導(dǎo)致聲音微弱的變化將會觸碰到運算放大器的峰值輸出,造成聲音信號的失真, 因此,需選用一定的運算放大器放發(fā)電路設(shè)計對聲音信號進(jìn)行放大。常見的運算放大器組成的放大電路如下圖所示。圖 3-5 電壓放大電路輸入電壓通過一 10K限流電阻輸入運算放大器的同相輸入端, 運算放大器的反向輸入端通過 10K 電阻接地,運算放大器的輸出信號通過一 100K電阻接入運算放大器的反向輸入端, 組成負(fù)反饋電路。 由于輸出電壓與同相輸入端輸入電壓相位相同,與反向輸入端輸入相位相反,因此,輸出由反相端輸入時,輸出端變回產(chǎn)生一個與原電壓電位相反的電壓,阻礙原電壓的放大,形成負(fù)反饋。依據(jù)運算放
28、大器虛短路與虛斷路的特點,放大倍數(shù)A 的計算公式如下:?3 = 1 + ?1(3-1 )R3為 100K 電阻, R2 為 10K 電阻,由此可得,該電路的放大倍數(shù)為11 倍。如果實現(xiàn)更高的放大倍數(shù),則需適當(dāng)改變兩電阻的阻值。聲電轉(zhuǎn)換電路實際為一高倍數(shù)放大器,其放大倍數(shù)較聲音放大電路的放大倍數(shù)更高。因此,在經(jīng)過上級放大之后,聲音信號已經(jīng)達(dá)到了一個較高的電壓,在經(jīng)過該給放大電路的放大, 輸出電壓很容易觸碰到該電路的峰值輸出電壓,造成電路輸出一穩(wěn)定的高電壓,實現(xiàn)聲音的控制電路開啟。第四章軟件程序設(shè)計4.1顯示程序設(shè)計顯示程序分為 LCD1602初始化程序與數(shù)據(jù)顯示程序, 依據(jù) LCD1602命令表
29、, LCD1602初始化程序如下int LCD1602_RS=12;int LCD1602_RW=11;int LCD1602_EN=10;int DB = 6, 7, 8, 9;/采用 4 線制接法,系統(tǒng)數(shù)據(jù)接口地址void LCD_Command_Write(int command)/寫命令函數(shù)int i,temp;digitalWrite( LCD1602_RS,LOW);/拉低 rs 引腳digitalWrite( LCD1602_RW,LOW);/拉低 rw 引腳digitalWrite( LCD1602_EN,LOW);/拉低使能引腳,進(jìn)入寫指令模式temp=command &am
30、p; 0xf0;/取命令高 16 位for (i=DB0; i <= 9; i+)/依次寫入命令digitalWrite(i,temp & 0x80); /取命令高 8 位寫入temp <<= 1;digitalWrite( LCD1602_EN,HIGH); /拉高 EN腳delayMicroseconds(1);/延時 1usdigitalWrite( LCD1602_EN,LOW); /拉低 EN腳temp=(command & 0x0f)<<4;/取命令低 16 位for (i=DB0; i <= 9; i+)/依次寫入命令digit
31、alWrite(i,temp & 0x80); / temp <<= 1; /取指令低 8 位寫入復(fù)位 temp 變量LCD1602digitalWrite( LCD1602_EN,HIGH);delayMicroseconds(1);digitalWrite( LCD1602_EN,LOW);void LCD_Data_Write(int dat)/LCD1602int i=0,temp;digitalWrite( LCD1602_RS,HIGH); /digitalWrite( LCD1602_RW,LOW);/digitalWrite( LCD1602_EN,LOW)
32、;拉高拉低數(shù)據(jù)寫入函數(shù)RS引腳,寫入數(shù)據(jù)RW,進(jìn)入寫模式temp=dat & 0xf0;/取數(shù)據(jù)高8 位寫入for (i=DB0; i <= 9; i+)digitalWrite(i,temp & 0x80); / temp <<= 1;依次寫入數(shù)據(jù)digitalWrite( LCD1602_EN,HIGH);delayMicroseconds(1);digitalWrite( LCD1602_EN,LOW);temp=(dat & 0x0f)<<4;/寫入數(shù)據(jù)低 8 位for (i=DB0; i <= 9; i+)digitalWr
33、ite(i,temp & 0x80);/temp <<= 1;依次寫入數(shù)據(jù)digitalWrite( LCD1602_EN,HIGH); / delayMicroseconds(1); / digitalWrite( LCD1602_EN,LOW); /拉高系統(tǒng)使能延時 1us拉低系統(tǒng)使能LCD_Command_Write(address);LCD_Command_Write(0x28); / 設(shè)置光標(biāo)自動 +1 delay(50);LCD_Command_Write(0x06);/設(shè)置關(guān)光標(biāo)顯示,屏幕不移動delay(50);LCD_Command_Write(0x0c)
34、;/關(guān)屏幕顯示delay(50);LCD_Command_Write(0x80);/開屏幕顯示delay(50);LCD_Command_Write(0x01);/清屏delay(50);LCD_Command_Write函數(shù)為寫指令函數(shù),其能夠?qū)⒅噶顚懭隠CD1602中,delay函數(shù)為延時函數(shù),寫入指令后需給1602 一定時間相應(yīng),寫指令0x28 是設(shè)置 LCD1602顯示為兩行顯示,4 線輸入模式, 每個字符為5x7 點陣。寫指令0x06是設(shè)置 LCD1602向右自動增量顯示。寫指令0x0C 是設(shè)置 LCD1602開啟顯示,光標(biāo)關(guān)閉。寫指令0x80 為設(shè)置顯示起始位置為第一行第一個字符,
35、寫指令0x01為清屏,光標(biāo)復(fù)位,完成初始化的操作,之后,可向LCD1602中寫入需顯示的數(shù)據(jù),并使其顯示。4.2密碼識別程序設(shè)計密碼識別程序需調(diào)用系統(tǒng)中斷功能, 并通過系統(tǒng)中斷實現(xiàn)對聲音密碼的識別,由于每次聲音密碼產(chǎn)生將會產(chǎn)生一定的抖動,信號上升沿不穩(wěn)定, 因此,需先對信號進(jìn)行消抖,再對信號進(jìn)行識別,密碼識別程序如下。int n=0;long m,m1;int a,c,q;int b=4;int d=1;int starts;int f8;int i;int j;int st;int err;int spe=0;void setup()pinMode(4,INPUT);pinMode(3,OU
36、TPUT);pinMode(5,OUTPUT);pinMode(6,OUTPUT);pinMode(13,OUTPUT);Serial.begin(9600);attachInterrupt(0,blinkA,CHANGE);f0=1;digitalWrite(3,LOW);delay(20);lcd.begin(16, 2);lcd.setCursor(0, 0);lcd.print("Welcome!");void blinkA()if(starts)if(b>0&&b<4)fd=1;d+;b=4;elsem1=millis();c=m1-m
37、;if(c<1000)b=4;else if(c>1000&&c<2000)fd+1=0;d=d+1;b=1;else if(c>2000&&c<3000)fd+1=0;fd+2=0;d=d+2;b=2;else if(c>3000&&c<4000)fd+1=0;fd+2=0;fd+3=0;d=d+3;b=3;else if(b=4)else if(c>4000)b=4;err=1;d=1;lcd.clear();lcd.setCursor(0, 0);lcd.print("ERROR!&
38、quot;);spe+;delay(1000);err=0;m=millis();Serial.println(c);Serial.println(d);Serial.println(err);Serial.println(spe);Serial.println("f=");for(i=0;i<8;i+)Serial.print(fi);Serial.println("");elselcd.clear();lcd.setCursor(0, 0);lcd.print("Welcome!");void loop()st=digita
39、lRead(4);if(st)starts=starts;delay(80);if(starts)lcd.clear();delay(20);lcd.setCursor(0, 0);lcd.print("Please Input");if(d>1)for(j=0;j<d+1;j+)lcd.setCursor(j, 1);lcd.print('*');delay(10);if(spe<5)if(f1=0&&f2=0&&f3=1&&f4=0&&f5=0&&f6=1)
40、digitalWrite(13,HIGH);lcd.clear();delay(20);lcd.setCursor(0, 0);lcd.print("The Key Right!");delay(10000);digitalWrite(13,LOW);for(i=0;i<8;i+)fi=0;starts=0;spe=0;b=4;err=0;d=1;else if(d>8)digitalWrite(13,LOW);lcd.clear();lcd.setCursor(0, 0);lcd.print("ERROR!");delay(1000);er
41、r=1;spe+;if(spe=3)spe+;while(1)d=1;spe=7;lcd.clear();lcd.setCursor(0, 0);lcd.print("Warring!");digitalWrite(6,HIGH);digitalWrite(5,HIGH);err=0;d=1;for(i=2;i<8;i+)fi=0;聲音識別程序調(diào)用了系統(tǒng)中斷,當(dāng)有聲音超過設(shè)定閾值時,聲音信號的高電平將觸發(fā)系統(tǒng)中斷, 中斷子程序為密碼識別程序, 密碼識別程序同時調(diào)用了系統(tǒng)的定時器中斷,定時器將對聲音信號進(jìn)行計時,計時時長為 1s,即每個聲音脈沖持續(xù)時間約 1s,系統(tǒng)預(yù)設(shè)
42、密碼為響、 響、空、空、響,每個聲音持續(xù) 1s 時間,若密碼輸入錯誤次數(shù)超過 3 次,系統(tǒng)將強行關(guān)閉聲控開鎖功能, 此時,用戶只能通過鑰匙將門鎖打開。整個聲音識別程序通過聲音開啟,系統(tǒng)開機時,將向顯示屏發(fā)送數(shù)據(jù),顯示屏顯示“ welcome”字符。當(dāng)系統(tǒng)檢測到聲音輸入后,聲控系統(tǒng)將開啟,而開啟聲音不算作系統(tǒng)密碼。聲控系統(tǒng)開啟后,將向現(xiàn)實屏發(fā)送數(shù)據(jù),顯示屏將顯示“ Please Input ”,提示用戶輸入聲音密碼,用戶可向系統(tǒng)輸入聲音密碼,用戶輸入密碼時,每輸入一個密碼,顯示屏將顯示一個“ * ”作為提示,用戶可根據(jù)顯示的“ * ”的多少判斷輸入的密碼個數(shù)。當(dāng)用戶輸入的密碼數(shù)據(jù)正確時,系統(tǒng)將顯
43、示“ Key The Key Right! ”同時開啟門鎖,門鎖開啟時間為 10s,若用于于 10s 未打開房門,則門鎖自動關(guān)閉,需要用戶重新輸入密碼。若用戶輸入的聲音密碼錯誤,系統(tǒng)將顯示“ ERROR!”提醒用戶再次輸入,用戶連續(xù)輸錯 3 次密碼后,該門鎖將鎖死, 用戶只能通過鑰匙開啟門鎖, 無法再通過聲控密碼開啟門鎖。 用戶進(jìn)屋后,可按下系統(tǒng)復(fù)位按鈕為系統(tǒng)復(fù)位, 系統(tǒng)復(fù)位后,聲控密碼將重新開啟。由此完成聲控開鎖的控制。4.3系統(tǒng)總程序設(shè)計系統(tǒng)總程序主要由顯示程序,聲音傳感器響應(yīng)程序,門鎖控制程序等幾個部分組成,系統(tǒng)將首先對聲音進(jìn)行響應(yīng),判斷啟動開鎖信號, 之后對聲音密碼進(jìn)行響應(yīng),處理聲音密
44、碼,密碼輸入成功后,將啟動開鎖程序打開門鎖。在整個程序執(zhí)行過程中, 始終配合顯示程序共同執(zhí)行,完成系統(tǒng)的所有功能, 系統(tǒng)工作流程如圖 4-1 所示。圖 4-1 系統(tǒng)流程圖系統(tǒng)啟動后, 首先運行 LCD1602初始化程序, 等待系統(tǒng)初始化完成后, 中央控制器向 LCD寫入顯示數(shù)據(jù), LCD1602顯示 welcome!之后,系統(tǒng)將循環(huán)運行聲音判斷程序,判斷是否有聲音信號啟動開鎖, 若無,則持續(xù)顯示 welcome!若有,則啟動密碼判斷程序。密碼判斷程序?qū)⑼瑫r啟動外部輸入中斷以及定時器中斷,定時器中斷用于設(shè)定密碼輸入頻率, 外部中斷用于控制聲音密碼輸入, 在密碼輸入完成之后,系統(tǒng)將對輸入密碼的正確性進(jìn)行判斷, 若系統(tǒng)密碼輸入錯誤次數(shù)超過 3 次,則啟動門鎖抱死系統(tǒng),將門鎖鎖死,此時聲音解鎖程序失效,無法通過聲音控制程序?qū)ο到y(tǒng)進(jìn)行解鎖, 只能通過鑰匙打開門鎖。 若輸入密碼錯誤此時不超過 3 次,系統(tǒng)則會重置,用戶可再次輸入聲音密碼。若用戶密碼輸入正確,則門鎖自動打開,并保持開啟狀態(tài) 10s,等待用戶進(jìn)入室,用戶進(jìn)入室后,門鎖會自動關(guān)閉,由此完成一次開鎖。系統(tǒng)的運行依賴與各個模塊的相互配合, 依據(jù)系統(tǒng)運行流程設(shè)計, 對相關(guān)程序進(jìn)行設(shè)計,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市西城區(qū)2025年三年級數(shù)學(xué)第二學(xué)期期末監(jiān)測模擬試題含解析
- 貴州黔南經(jīng)濟學(xué)院《批判性閱讀與寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西工商學(xué)院《課堂教學(xué)技能訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江紡織服裝職業(yè)技術(shù)學(xué)院《插花藝術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)《建筑安裝工程概預(yù)算》2023-2024學(xué)年第二學(xué)期期末試卷
- 供應(yīng)鏈可持續(xù)性:環(huán)境與社會風(fēng)險管理
- 有機蔬菜種植盒市場調(diào)查報告
- 許昌垂直車庫施工方案
- 2025年黃金投資分析報告:全球流動與價格波動中的關(guān)鍵信號
- 超長結(jié)構(gòu)廠房施工方案
- 肺結(jié)核病人的心理護(hù)理
- 2025年開封文化藝術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫含答案
- 2025年遼寧冶金職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫有完整答案
- 2025年安徽揚子職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫(各地真題)
- 2025年共青科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 煙草職業(yè)鑒定三級技能考點
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年江西應(yīng)用工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 新媒體營銷(第三版) 課件全套 林海 項目1-6 新媒體營銷認(rèn)知-新媒體營銷數(shù)據(jù)分析
- 2023《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀PPT
- 星巴克運營管理手冊
評論
0/150
提交評論