劉淑芬,尚麗
(蘇州市職業大學電子信息工程學院)
大城市的大型商場,比如萬達廣場,永旺夢樂城等,都設有很多停車位,但是一到節假日停車位還是比較緊張,汽車進停車場之后只能從進場到出口一路找尋停車位,而不能做到精準導流,用一套系統精準的指揮車輛找到停車位是我們設計的初衷。本文介紹了一種基于上位機和下位機的車位自動顯示系統,上位機通過無線傳輸模塊接收下位機傳輸來的車位數據,在入口處屏幕顯示,并根據空余車位所在位置做出相應導流處理,很好地解決了大型停車場的精細化管理要求,具有一定的實用性。
系統采用AT89C52單片機作為主要控制芯片,并由三部分電路組成,這三部分電路分別是LED屏幕顯示電路、傳感器數據采集電路和無線傳輸電路。LED屏幕顯示電路采用LED點陣顯示區域當時車位狀態,傳感器數據采集電路采用超聲波測距傳感器來實現感知車位上是否有車輛,而無線傳輸電路則采用nRF24L0 1無線收發射頻芯片來實現。系統整體框架如圖1所示。

圖1 系統整體框架
我們采用了LED點陣模塊來顯示采集的空余車位信息,LED屏幕顯示器直接跟蹤顯示空余車位信息,準確度高,顯示清晰,穩定可靠,使用方便。每個模塊有8*8共64個LED,可以根據區域停車位的多少增減模塊個數。
超聲波傳感器是將超聲波信號轉換成電信號的傳感器。超聲波傳感器主要是由壓電晶體及鎳鐵鋁合金兩類構成的。它的工作頻率一般為23kHz~25kHz及40kHz~45kHz左右。應用超聲波的主要原理是超聲波遇到障礙物會反射回波。根據回波的時間可以檢測回波的距離,根據距離可以判斷有無車輛停在停車位上。
在本次設計中使用的超聲波傳感器的型號是HC-SR04。HC-SR04有四個引腳,從左往右依次的作用是VCC提供5V的電源、TRIG觸發控制信號輸入、ECHO回響信號輸出、GND接地(見圖2)。

圖2 超聲波傳感器
傳感器電路中主要包含的是HCSR04(見圖3)。TRIG觸發控制信號輸入連接單片機P2.2。ECHO回響信號輸出連接單片機P2.3。

圖3 超聲波電路圖
本設計采用一款由挪威Nordic公司生產的nRF24L01無線收發射頻模塊來傳輸溫度值。該模塊工作于2.4GHz~2.5GHz頻段,其無線收發芯片中包括頻率發生器、模式控制器、功放、晶振、調制解調器,輸出功率、頻率設置和協議設定可以進行設置。nRF24L01有五種工作方式,分別是掉電模式、發射模式、接收模式、等待模式1和等待模式2。可通過設置nRF24L01寄存器中的PWM_UP位和PRIM_RX位,以及控制CE腳的電平來對其工作方式進行設定(見表1)。

表1 nRF24L01的工作方式
需要注意的是,nRF24L01的最高工作電壓是3.6V,而單片機的工作電壓為5V,因此不能直接將nRF24L01的電源端與單片機的電源端直接相連,需要進行電壓轉換。為了將5V轉為3.3V采用了AMS1117-3.3V芯片,產生的3.3V提供給nRF24L01使用,具體電路如圖4所示。
下位機程序采用C語言編寫,流程圖如圖5所示,采用模塊化的編程思想,這樣有利于以后閱讀并提高工作效率。本系統主要有車位狀態數據讀取程序、LED顯示程序、和串行口通信程序這三個模塊。

圖5 下位機軟件流程圖
單片機車位數據采集程序主要放在外部中斷0服務程序中,每個車位對應一個標志位,根據超聲波測距傳感器傳回的距離數據判斷車位上是否有車,如果有車標志位設為1,如果沒車相應標志位設為0,然后返回主程序。
主程序中對定時器進行初始化,對中斷系統初始化,然后將各個標志位在區域LED中進行對應位顯示,不斷進行掃描,保證數據的實時更新。
定時器中斷服務,程序定時時間到,就會將實時數據通過串行口無線傳輸給上位機,上位機根據各個區域的下位機傳上來的數據在上位機屏幕上顯示,并實現在入口處對車輛導流。
上位機程序是在VB環境下編寫的。要讓下位機與上位機進行通信,離不開一個重要的通信方式——串口通信。本上位機程序的核心功能就是串口通信功能。Visual Basic 6.0開發 工具中MSComm控件可以實現串口通信。
激活Visual Basic 6.0,打開一個新的工程,在工程-部件-windows comm contrl中添加MSCOMM控件至工具欄中,在窗體中安排其控件,作為串行通信的通道,按F4調出屬性窗口設計。
點擊代碼窗口輸入其如下的代碼:


調試中,運行軟件包里的ComMonitor串口調試助手測試串口是否連好,對其界面參數設計如下:端口-COM1;波特率-9600;數據位-8;校驗位-無;停止位-1。觀察下位機的液晶顯示的數據是否傳至串口調試軟件的文本區域。
當串口調試成功后,運行本系統軟件db1里的工程1,進入VB界面,可以看到實時車位數據變化會在上位機實時顯示。上位機軟件還要根據上傳的數據在入口處的大屏幕上給出相應的導流提醒,以便顧客能做出最合適的選擇,節約更多找車位的時間。
為上述系統設計的可靠性進行驗證。
在Visual Basic 6.0中編制了上位機的軟件界面,上位機輪詢每個區域的實時數據,實時數據每隔5秒鐘傳輸給Access數據庫文件,更新數據表文件中的數據,并實時顯示在后臺的監控界面上,給系統上電,測試系統可靠性、靈敏度,取得了滿意的效果。
上位機接收并記錄數據如圖6所示,綠燈亮的地方表示車位是空的,沒有綠燈亮的地方表示有車停在車位上,調試顯示界面很直觀。

圖6 上位機實時接收數據顯示界面圖
針對較大型停車場顧客停車經常找車位的需求,本文提出了一款基于單片機的商場停車場導引系統的設計方案。該系統運行可靠穩定、成本低且易于實現,能夠滿足較大型停車場智能監測車位和導引的需求,且利用nRF24L01模塊實現了數據的無線傳輸,擺脫了有線傳輸帶來的局限性,大大提高了系統的靈活性。基于以上優點,該系統可投入實際生產應用,具有一定的實用價值和推廣價值。