劉淑芬,尚麗
(蘇州市職業(yè)大學(xué)電子信息工程學(xué)院)
大城市的大型商場,比如萬達廣場,永旺夢樂城等,都設(shè)有很多停車位,但是一到節(jié)假日停車位還是比較緊張,汽車進停車場之后只能從進場到出口一路找尋停車位,而不能做到精準導(dǎo)流,用一套系統(tǒng)精準的指揮車輛找到停車位是我們設(shè)計的初衷。本文介紹了一種基于上位機和下位機的車位自動顯示系統(tǒng),上位機通過無線傳輸模塊接收下位機傳輸來的車位數(shù)據(jù),在入口處屏幕顯示,并根據(jù)空余車位所在位置做出相應(yīng)導(dǎo)流處理,很好地解決了大型停車場的精細化管理要求,具有一定的實用性。
系統(tǒng)采用AT89C52單片機作為主要控制芯片,并由三部分電路組成,這三部分電路分別是LED屏幕顯示電路、傳感器數(shù)據(jù)采集電路和無線傳輸電路。LED屏幕顯示電路采用LED點陣顯示區(qū)域當(dāng)時車位狀態(tài),傳感器數(shù)據(jù)采集電路采用超聲波測距傳感器來實現(xiàn)感知車位上是否有車輛,而無線傳輸電路則采用nRF24L0 1無線收發(fā)射頻芯片來實現(xiàn)。系統(tǒng)整體框架如圖1所示。
圖1 系統(tǒng)整體框架
我們采用了LED點陣模塊來顯示采集的空余車位信息,LED屏幕顯示器直接跟蹤顯示空余車位信息,準確度高,顯示清晰,穩(wěn)定可靠,使用方便。每個模塊有8*8共64個LED,可以根據(jù)區(qū)域停車位的多少增減模塊個數(shù)。
超聲波傳感器是將超聲波信號轉(zhuǎn)換成電信號的傳感器。超聲波傳感器主要是由壓電晶體及鎳鐵鋁合金兩類構(gòu)成的。它的工作頻率一般為23kHz~25kHz及40kHz~45kHz左右。應(yīng)用超聲波的主要原理是超聲波遇到障礙物會反射回波。根據(jù)回波的時間可以檢測回波的距離,根據(jù)距離可以判斷有無車輛停在停車位上。
在本次設(shè)計中使用的超聲波傳感器的型號是HC-SR04。HC-SR04有四個引腳,從左往右依次的作用是VCC提供5V的電源、TRIG觸發(fā)控制信號輸入、ECHO回響信號輸出、GND接地(見圖2)。
圖2 超聲波傳感器
傳感器電路中主要包含的是HCSR04(見圖3)。TRIG觸發(fā)控制信號輸入連接單片機P2.2。ECHO回響信號輸出連接單片機P2.3。
圖3 超聲波電路圖
本設(shè)計采用一款由挪威Nordic公司生產(chǎn)的nRF24L01無線收發(fā)射頻模塊來傳輸溫度值。該模塊工作于2.4GHz~2.5GHz頻段,其無線收發(fā)芯片中包括頻率發(fā)生器、模式控制器、功放、晶振、調(diào)制解調(diào)器,輸出功率、頻率設(shè)置和協(xié)議設(shè)定可以進行設(shè)置。nRF24L01有五種工作方式,分別是掉電模式、發(fā)射模式、接收模式、等待模式1和等待模式2??赏ㄟ^設(shè)置nRF24L01寄存器中的PWM_UP位和PRIM_RX位,以及控制CE腳的電平來對其工作方式進行設(shè)定(見表1)。
表1 nRF24L01的工作方式
需要注意的是,nRF24L01的最高工作電壓是3.6V,而單片機的工作電壓為5V,因此不能直接將nRF24L01的電源端與單片機的電源端直接相連,需要進行電壓轉(zhuǎn)換。為了將5V轉(zhuǎn)為3.3V采用了AMS1117-3.3V芯片,產(chǎn)生的3.3V提供給nRF24L01使用,具體電路如圖4所示。
下位機程序采用C語言編寫,流程圖如圖5所示,采用模塊化的編程思想,這樣有利于以后閱讀并提高工作效率。本系統(tǒng)主要有車位狀態(tài)數(shù)據(jù)讀取程序、LED顯示程序、和串行口通信程序這三個模塊。
圖5 下位機軟件流程圖
單片機車位數(shù)據(jù)采集程序主要放在外部中斷0服務(wù)程序中,每個車位對應(yīng)一個標(biāo)志位,根據(jù)超聲波測距傳感器傳回的距離數(shù)據(jù)判斷車位上是否有車,如果有車標(biāo)志位設(shè)為1,如果沒車相應(yīng)標(biāo)志位設(shè)為0,然后返回主程序。
主程序中對定時器進行初始化,對中斷系統(tǒng)初始化,然后將各個標(biāo)志位在區(qū)域LED中進行對應(yīng)位顯示,不斷進行掃描,保證數(shù)據(jù)的實時更新。
定時器中斷服務(wù),程序定時時間到,就會將實時數(shù)據(jù)通過串行口無線傳輸給上位機,上位機根據(jù)各個區(qū)域的下位機傳上來的數(shù)據(jù)在上位機屏幕上顯示,并實現(xiàn)在入口處對車輛導(dǎo)流。
上位機程序是在VB環(huán)境下編寫的。要讓下位機與上位機進行通信,離不開一個重要的通信方式——串口通信。本上位機程序的核心功能就是串口通信功能。Visual Basic 6.0開發(fā) 工具中MSComm控件可以實現(xiàn)串口通信。
激活Visual Basic 6.0,打開一個新的工程,在工程-部件-windows comm contrl中添加MSCOMM控件至工具欄中,在窗體中安排其控件,作為串行通信的通道,按F4調(diào)出屬性窗口設(shè)計。
點擊代碼窗口輸入其如下的代碼:
調(diào)試中,運行軟件包里的ComMonitor串口調(diào)試助手測試串口是否連好,對其界面參數(shù)設(shè)計如下:端口-COM1;波特率-9600;數(shù)據(jù)位-8;校驗位-無;停止位-1。觀察下位機的液晶顯示的數(shù)據(jù)是否傳至串口調(diào)試軟件的文本區(qū)域。
當(dāng)串口調(diào)試成功后,運行本系統(tǒng)軟件db1里的工程1,進入VB界面,可以看到實時車位數(shù)據(jù)變化會在上位機實時顯示。上位機軟件還要根據(jù)上傳的數(shù)據(jù)在入口處的大屏幕上給出相應(yīng)的導(dǎo)流提醒,以便顧客能做出最合適的選擇,節(jié)約更多找車位的時間。
為上述系統(tǒng)設(shè)計的可靠性進行驗證。
在Visual Basic 6.0中編制了上位機的軟件界面,上位機輪詢每個區(qū)域的實時數(shù)據(jù),實時數(shù)據(jù)每隔5秒鐘傳輸給Access數(shù)據(jù)庫文件,更新數(shù)據(jù)表文件中的數(shù)據(jù),并實時顯示在后臺的監(jiān)控界面上,給系統(tǒng)上電,測試系統(tǒng)可靠性、靈敏度,取得了滿意的效果。
上位機接收并記錄數(shù)據(jù)如圖6所示,綠燈亮的地方表示車位是空的,沒有綠燈亮的地方表示有車停在車位上,調(diào)試顯示界面很直觀。
圖6 上位機實時接收數(shù)據(jù)顯示界面圖
針對較大型停車場顧客停車經(jīng)常找車位的需求,本文提出了一款基于單片機的商場停車場導(dǎo)引系統(tǒng)的設(shè)計方案。該系統(tǒng)運行可靠穩(wěn)定、成本低且易于實現(xiàn),能夠滿足較大型停車場智能監(jiān)測車位和導(dǎo)引的需求,且利用nRF24L01模塊實現(xiàn)了數(shù)據(jù)的無線傳輸,擺脫了有線傳輸帶來的局限性,大大提高了系統(tǒng)的靈活性?;谝陨蟽?yōu)點,該系統(tǒng)可投入實際生產(chǎn)應(yīng)用,具有一定的實用價值和推廣價值。