廖欄椿,施小宇,王 星,袁育東
基于安全、方便等方面的需要,許多電子密碼鎖相繼問世,如磁卡鎖、聲控鎖、指紋識(shí)別、IC卡識(shí)別等.但這類產(chǎn)品的特點(diǎn)是針對(duì)特定場(chǎng)合有效,且不能實(shí)現(xiàn)遠(yuǎn)程控制,只適合于保密要求高且僅供個(gè)人使用的箱、柜、房間等.加上其成本一般較高,一定程度上限制了這類產(chǎn)品的普及和推廣.
紅外線遙控是目前使用最廣泛的一種通信和遙控手段.由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空調(diào)機(jī)以及玩具等也紛紛采用紅外線遙控.工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠,而且能有效地隔離電氣干擾[1].
本文利用AVR單片機(jī)具有驅(qū)動(dòng)能力強(qiáng)、處理能力強(qiáng)、最小系統(tǒng)外圍電路簡(jiǎn)單等優(yōu)點(diǎn),探討一種由ATmega16單片機(jī)編程實(shí)現(xiàn)的控制電路,采用紅外發(fā)送和接收,具有按鍵指示,輸入錯(cuò)誤提示,密碼有效指示,控制開鎖、控制報(bào)警、遙控開鎖等功能,可以在外泄密碼的情況下及時(shí)修改密碼,保密性好,靈活度高,特別適合家庭、賓館、私家車庫(kù)等[2].它具有安全可靠、成本低廉、連接方便、使用簡(jiǎn)單、結(jié)構(gòu)緊湊等特點(diǎn).
該控制系統(tǒng)主要由紅外發(fā)射與接收裝置、ATmega16單片機(jī)、繼電器、蜂鳴器和 LCD1602等部件組成,如圖1所示.本文采用1838一體化萬能接收頭來對(duì)紅外解碼;單片機(jī)主要負(fù)責(zé)將接收到的紅外信號(hào)處理、分析,并將信號(hào)處理的結(jié)果在LCD1602上顯示,同時(shí)控制繼電器的通斷達(dá)到間接控制電磁鎖的目的;蜂鳴器的作用是提示每個(gè)按鍵是否已經(jīng)按下和聲音報(bào)警.系統(tǒng)具有按鍵提示、密碼有效與否提示、修改密碼、控制報(bào)警、遙控控制電磁鎖等功能,可以在泄密后及時(shí)更改密碼,具有保密性,靈活度高.
圖1 系統(tǒng)結(jié)構(gòu)圖
單片機(jī)最小系統(tǒng)由ATmega16及5 V電源組成,可以用單片機(jī)內(nèi)部RC振蕩器產(chǎn)生1 MHz的工作頻率,而不需外加振蕩電路和復(fù)位電路.該單片機(jī)有16 K字節(jié)的Flash程序空間,能夠滿足設(shè)計(jì)要求.如圖2所示.
圖2 單片機(jī)最小系統(tǒng)
用1838一體化萬能接收頭來對(duì)紅外解碼,1838的1腳接ATmega16單片機(jī)的PD2腳(16腳),2腳接地,3腳接VCC,如圖3所示.
圖3 紅外接收模塊接口
一體化紅外線接收器集紅外線接收和放大調(diào)理于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號(hào)兼容的所有工作,而體積和普通三極管的大小一樣.它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸[3].其外形如圖4所示.
圖4 紅外接收頭
紅外發(fā)射器一開始發(fā)送一段13.5 ms的引導(dǎo)碼,引導(dǎo)碼由9 ms的高電平和4.5 ms的低電平組成,跟著引導(dǎo)碼是系統(tǒng)碼,系統(tǒng)反碼,按鍵碼,按鍵反碼.如果按著鍵不放,則遙控器發(fā)送一段重復(fù)碼,重復(fù)碼是9 ms的高電平,4.5 ms的低電平,跟著是一個(gè)短脈沖.經(jīng)過紅外接收頭后,所有的碼都經(jīng)過反碼,然后單片機(jī)通過中斷及定時(shí)器定時(shí)加算法把這些碼接收到后進(jìn)行相應(yīng)的處理[4].單片機(jī)接收到的紅外碼如圖5所示.
圖5 單片機(jī)接收到的紅外碼
遙控端發(fā)出以脈寬為0.565 ms、間隔0.56 ms、周期為1.125 ms的組合表示二進(jìn)制的“0”;以脈寬為0.565 ms、間隔1.685 ms、周期為2.25 ms的組合表示二進(jìn)制的“1”,其波形如圖6所示.紅外接收頭將38 K載波信號(hào)過濾,得到與發(fā)射代碼反向的接收代碼[5].
圖6 紅外接收功能碼
考慮到本系統(tǒng)只需要顯示英文提示語和密碼數(shù)字,因此選用 LCD1602就可達(dá)到要求.ATmega16單片機(jī)的PA口與LCD的數(shù)據(jù)接口并行連接,單片機(jī)的PC5、PC6和PC7為3根控制線與LCD相連接,這樣可以大大提高顯示速度.LCD接口電路如圖7所示.
由于該系統(tǒng)采用的電磁鎖是+12 V直流供電,而單片機(jī)采用的是+5 V直流供電,所以引入繼電器以達(dá)到ATmega16單片機(jī)間接控制電磁鎖的目的.圖8是繼電器的工作電路.圖9為電磁鎖與繼電器的連接電路.當(dāng)ATmega16單片機(jī)的引腳PB4為高電平的時(shí)候就控制繼電器的常開觸點(diǎn)閉合,當(dāng)為低電平的時(shí)候繼電器的常開觸點(diǎn)斷開.這樣繼電器就起到了作為電磁鎖的開關(guān)作用,從而達(dá)到了ATmega16控制電磁鎖開關(guān)的設(shè)計(jì)目的.圖10為系統(tǒng)總體電路圖.
圖7 LCD液晶模塊電路
圖8 繼電器工作電路
圖9 電磁鎖接口電路
圖10 系統(tǒng)總體電路圖
本系統(tǒng)軟件采用C語言程序設(shè)計(jì),程序流程如圖11所示.開機(jī)上電后,ATmega16單片機(jī)首先完成初始化工作,并打開外部中斷(INT0),初始化后進(jìn)入循環(huán)處理.在循環(huán)過程中,單片機(jī)從INT0獲得紅外信號(hào)數(shù)據(jù),并且顯示處理后的結(jié)果和執(zhí)行相應(yīng)的操作,即當(dāng)用紅外遙控器輸入密碼并按下“確定”或者“EC”鍵后,單片機(jī)處理接收到的紅外碼,識(shí)別密碼輸入是否正確;如果輸入正確且此時(shí)按下“確定”鍵,則單片機(jī)控制繼電器打開電磁鎖.相反,當(dāng)輸入密碼錯(cuò)誤,則LCD顯示“error”,連續(xù)輸錯(cuò)3次密碼,蜂鳴器報(bào)警;如果輸入密碼正確且按下“EC”鍵,則下一次輸入的是6位新密碼(按“確定”鍵確認(rèn)輸入完畢),若LCD1602顯示“success”,則密碼修改成功.
圖11 主程序流程圖
本文用ATmega16單片機(jī)對(duì)紅外信號(hào)進(jìn)行處理并結(jié)合密碼程序設(shè)計(jì)思想,設(shè)計(jì)了一款可應(yīng)用的紅外遙控電子密碼鎖.經(jīng)測(cè)試,系統(tǒng)運(yùn)行正常,工作穩(wěn)定可靠,完全可以滿足一般應(yīng)用場(chǎng)合.
[1]咸俊偉,陳波,梁書旺.基于AT89C51的紅外遙控電子密碼鎖的設(shè)計(jì)[J].科技信息(學(xué)術(shù)研究),2008(29):567-569.
[2]曹開田.基于單片機(jī)的紅外遙控密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)儀器儀表,2006(3):93-94.
[3]趙海蘭,趙之赫.基于單片機(jī)的紅外遙控智能小車的設(shè)計(jì)[J].電子世界,2013(3):31-32.
[4]汪毅.基于AVR單片機(jī)的紅外遙控仿真設(shè)計(jì)[J].科技創(chuàng)新導(dǎo)報(bào),2011(16):69.
[5]郭海英.基于單片機(jī)的電子安全密碼鎖的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2005(13):13.
重慶文理學(xué)院學(xué)報(bào)(社會(huì)科學(xué)版)2014年2期