劉剛鑫 古麗米拉·克孜爾別克* 侯正清 白新月 毛一新 陳飛陽
(新疆農(nóng)業(yè)大學計算機與信息工程學院,新疆 烏魯木齊830000)
全國每年被盜自行車車輛數(shù)量多,不僅給國家和社會造成不小的經(jīng)濟損失,而且還對廣大的自行車車主造成了不便,且自行車被盜后很難追回,因此將現(xiàn)代電子信息技術運用到自行車防盜和保障騎行者中具有重要意義,借此設計希望能有效的減少,自行車被盜案和自行車交通事故的發(fā)生,挽回一些不可必要的財產(chǎn)損失和人員傷亡。
本文所設計的自行車防盜鎖由主控芯片、震動傳感器模塊、GSM模塊、GPS模塊、液晶顯示模塊及超聲波測速模塊組成。系統(tǒng)框圖如圖1。單片機作為系統(tǒng)的控制核心,控制著系統(tǒng)的執(zhí)行動作。通過串口1、串口2分別實現(xiàn)與GPS模塊和GSM模塊的通信。首先,系統(tǒng)通過GPS模塊來獲取到單車所在的地理位置信息。其次,單片機通過I/O口直接與震動傳感器模塊的輸出引腳連接以判斷是否有異常震動存在。若存在異常震動,單片機將給GSM模塊發(fā)送發(fā)短信的相關AT命令,GSM模塊將向在程序中已經(jīng)設定好的電話號碼發(fā)送短信,短信內容包括地理位置信息和相關報警信息,以達到報警的目的,提示自行車主采取措施。超聲波測試傳感器的TRIG和ECHO引腳與單片機的I/O口相連,把測出的距離顯示在顯示器上,當測出的距離過于近時,便觸動警示電路,以警示后方來車?;诖耍到y(tǒng)既實現(xiàn)了防盜功能也實現(xiàn)了保護騎行者安全的功能。
圖1 系統(tǒng)設計框圖
系統(tǒng)接口設計如圖2所示。
圖2 系統(tǒng)接口設計圖
主控單元芯片采用的是增強型51單片機,宏晶公司的STC89C52RC單片機,此款MCU具有低功耗、高性能等特點。但是功能比傳統(tǒng)51單片機更強大[1]。
GSM模塊采用的是SIM800C模塊,SIM800C的TXD口與單片機的串口2相連,通過向SIM800C模塊發(fā)送AT指令來控制該模塊發(fā)送短信。本設計主要用到的是短消息發(fā)送命令:AT+CMGC,該命令主要用于短信息的發(fā)送。如圖3所示,因為單片機只有兩個串口,其中一個串口已經(jīng)被GPS模塊占用,所以SIM800C的RXD引腳與單片的串口2相連,只能接受單片機發(fā)送的AT指令,而不能向單片機發(fā)送指令[2]。
圖3 SIM800C模塊接口原理圖
采用常開高靈敏震動開關SW-18010P。開關靜止時處于斷開OFF的狀態(tài)。當移動速度過快時,或者感受到外界異常震動過大時,導電接腳會瞬間處于(ON)狀態(tài)。而當外界震動震動消失或者處于靜止時會恢復到OFF的狀態(tài)。當此模塊感受到盜竊者所帶來的異常震動時,與其相連的單片機引腳會立即導通變成低電平,主控芯片檢測到引腳的電平為低,便會控制報警電路,觸發(fā)報警裝置,以此來恐嚇入侵者。
此模塊采用的是vk2828u7g5Llf,它采用的是內置天線,將GPS模塊和天線嵌入到一個小尺寸的模塊中,其與單片機的串口1相連,只能發(fā)送數(shù)據(jù),而不能接受數(shù)據(jù)。模塊接到定位衛(wèi)星傳來的NEMA數(shù)據(jù),不能直接在LCD12864顯示屏上顯示。只有將數(shù)據(jù)通過算法轉換成單片機可識別的數(shù)據(jù),然后顯示在LCD12864液晶屏上。GPS模塊接口原理圖如圖4所示。
圖4 GPS模塊接口原理圖
液晶顯示模塊用的是LCD12864,帶中英文字庫,可顯示中英文,也可顯示圖形,有4位/8位并行、2線或3線串行多種接口方式。該模塊操作簡單,接口方式自由靈活,且價格便宜。可構成簡易實用的人機交互圖形界面。其1,20號引腳接電源地,2,19引腳接電源正極,第3,18號引腳接10k電位器5號引腳可不接,其余引腳接單片機I/O口[3]。圖5是接線原理圖。
圖5 LCD12864接線原理圖
采用HC-SR04模塊,此模塊有四個引腳,分別為VCC、GND、TRIG、ECHO。其中VCC接電源正極,GND接電源負極。TRIG端連接單片機的P1.0 口,ECHO端連接的是單片機P2.0 口。其工作原理:采用IO觸發(fā)測距的方式,主控芯片向TRIG端(觸發(fā)信號輸入端)輸入一個10微秒以上的高電平信號,超聲波ECHO端收到信號將自動發(fā)送8個40Hz方波,于此同時啟動定時器,待模塊接收到回波則立即停止計時并通過I/O口輸出高電平,該高電平持續(xù)的時間就超聲波在空氣中傳播的時間,通過公式:距離=(高電平時間*聲速)/2,這樣就實現(xiàn)了用超聲波測距的功能[4]。
開發(fā)環(huán)境采用美國Keil Software公司推出的51系列兼容單片機C51語言軟件開發(fā)系統(tǒng)[5]。作為一款常見的單片機開發(fā)軟件,與傳統(tǒng)的匯編相比,C51語言具有功能強大、結構性好、可讀性強、容易維護等特點。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。其方便易用的集成環(huán)境、強大的軟件仿真調試工具讓開發(fā)過程事半功倍[6]。
系統(tǒng)軟件主要采用模塊化設計,主要有LCD顯示屏初始化程序、GPS數(shù)據(jù)處理程序、GPS數(shù)據(jù)顯示程序、超聲波測距程序、短信報警程序等組成。
3.3.1 GPS數(shù)據(jù)處理程序
GPS接收數(shù)據(jù)為GPRMC模式的,其數(shù)據(jù)說明如下:
SGPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
S:代表的是幀首標志符
<1>:UTC當?shù)貢r間,采用時分秒格式
<2>:表示衛(wèi)星的定位狀態(tài),A=數(shù)據(jù)可用;V=不可用
<3>:代表所處地理位置的緯度,采用度度分分.分分分 格式
<4>:所處位置是南半球還是北半球,N代表北半球,S代表南半球
<5>:代表所處地理位置的經(jīng)度,采用度度分分.分分分 格式
<6>:所處位置是南半球還是北半球,E代表東半球,W代表西半球
<7>:對地速度,000.0 ~999.9 節(jié)
<8>:代表對地航向,000.0 ?~359.9 ?
<9>:當?shù)厝掌?,日日月月年年格?/p>
<10>:代表的是磁極變量,000.0 -180.0 度
<11>:表示磁變方向,E&W
<12>:工作模式,A=自主,D=差分,E=評估,N=數(shù)據(jù)無效*:校驗和隔離符號hh:校檢符
3.3.2 程序設計思路如果單片機接收到的字符是“ S”,將之后5個字符存儲到數(shù)組中,其次判斷接收語句是否為GPRMC格式,如果是,則開始接收??梢酝ㄟ^對“,”計數(shù),通過判斷“,”的序數(shù),把每個“,”后的數(shù)據(jù)都存入到不同的數(shù)組中。當接收“*”時,則表示數(shù)據(jù)已經(jīng)發(fā)送結束,則停止接收[7]。
3.3.3 LCD12864顯示程序設計
主要通過對LCD12864進行寫指令和讀數(shù)據(jù)來控制LCD12864,常用的指令如下[8]。
圖6 主程序流程圖
3.3.4 超聲波測速程序設計
圖7 LCD12864常見指令
圖8 超聲波測速流程圖
單片機向超聲波測速模塊的Trig引腳發(fā)出10μs的高電平信號用以觸發(fā)傳感器測距。模塊自動發(fā)送8個40kHz的方波,然后自動檢測是否有信號返回。當有信號返回時,通過IO口輸出一高電平,該高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間[9]。時間單位 一般為微秒(μs),聲速約為344m/s。
3.3.5 報警程序設計
將LED接到P3.6 口,當用超聲波測距模塊測到與后車距離太近時,用延時函數(shù)delay來控制LED每隔一秒閃爍一次。
結束語
本文提出一種基于單片機的多功能防盜自行車鎖設計,使用STC89C52單片機作為系統(tǒng)的操控核心,采用震動檢測和短信報警等方式,具有實用性高,易于推廣的優(yōu)點,經(jīng)實際測試,結果符合設計要求,達到預期的設計目的。