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