陳蓓玉 陳天元
南京信息工程大學,江蘇 南京 210044
目前,因公交運力不足或堵車等問題導致的站臺等車時間過長,等車時間不確定等問題給人們帶來了很大困擾,另外,對于很多環(huán)形公交線路而言,如何乘車才能更快地到達目的地也給不少乘客帶來了困惑。盡管一些城市的公交站臺已經(jīng)提供等車時間預(yù)告功能,即告知下一班車處于哪一站,但是對于環(huán)形線路而言,換乘哪一班車可以更快地到達目的地,現(xiàn)有的站臺提醒系統(tǒng)并無法提供相關(guān)信息。
本系統(tǒng)的提出,通過單片機的無線通信與數(shù)據(jù)處理等功能,將會繼續(xù)優(yōu)化目前的公交系統(tǒng),并解決仍然存在的問題。
圖1 系統(tǒng)框圖
圖2 智能公交模擬系統(tǒng)硬件框圖
如圖1,藍色線標志小車向中央控制發(fā)出無線信號,告知中央控制此時本車的位置信息;紅色線標志中央控制向站臺發(fā)出無線信號,告知站臺此時處于環(huán)路上的小車的位置信息,站臺對收到的信息進行運算處理,顯示出此時最優(yōu)換乘的方案。
如圖2,1、2號小車在順時針車道從站臺A之前出發(fā),3號小車在逆時針車道從站臺A之前出發(fā),程序開始運行,在主函數(shù)中執(zhí)行循跡小車算法。當檢測到地面垂直于行車道的黑線時,進入外部中斷,小車停車,小車內(nèi)部記錄的位置信號N+1,若為3,則計為1,并向主控站臺2發(fā)出此時計數(shù)得到的站臺位置信號N。主控站臺2始終保持等待接收狀態(tài),在接收到小車傳來的位置信息時,對位置信息進行整理,把系統(tǒng)中3輛小車的位置信息發(fā)往其他各個站臺,并且計算離本站最近的小車編號與相距站數(shù),在液晶上顯示,提示候車乘客的最優(yōu)換乘路線,是在順時針方向等候,還是在逆時針方向等候,以及車輛編號。其他站臺始終保持等待接收狀態(tài),在接收到主控站臺2傳來的小車位置信息時,對位置信息進行運算處理,計算出離本站最近的小車編號以及離本站剩余的站數(shù),并在液晶上顯示,提示候車乘客最佳乘車方向以及車輛編號。
整個系統(tǒng)包含7片單片機,3輛小車,3個L298電機驅(qū)動模塊,15個光電對管集成模塊,7片NRF24L01無線收發(fā)模塊,3片液晶等電路元件構(gòu)成。
圖3 STC89C52
圖4 公交模擬系統(tǒng)小車設(shè)計程序流程
通過太陽能電池板發(fā)出電能,通過DC-DC變換、整流、濾波為蓄電池充電,蓄電池用以提供小車整個系統(tǒng)的電能。
如圖3、4,主控芯片STC89C52,P0.0-P0.3連接光電對管,檢測黑白線。其中P0.0-P0.3用以檢測路面黑白線,當光電對管正對黑線時,光電對管輸出高電平,使單片機管腳輸入為1,當光電對管正對白線時,光電對管輸出低電平,使單片機管腳輸入為0。車道寬度選用2~3cm,使得小車用于掃描車前的4個光電對管,中間兩個在車道上用以檢測黑線,最左和最右的兩個用以檢測白色地面。當單片機P0.0-3輸入為0110時,表明小車大致在車道正中行駛。當P0.0-3輸入序列為0100時,說明車道向左邊偏轉(zhuǎn)一些,即小車應(yīng)當向左轉(zhuǎn)彎。此時,單片機P1.0-3向電機驅(qū)動模塊輸出0010,并延時少許,使得小車可以保持左邊車輪停止,右邊車輪前進,實現(xiàn)左轉(zhuǎn)。當P0.0-3輸入序列為1100或1000時,說明車道向左邊偏轉(zhuǎn)很大,即小車應(yīng)當向左迅速轉(zhuǎn)彎。此時,單片機P1.0-3向電機驅(qū)動模塊輸出0110,并延時少許,使得小車可以左邊車輪反轉(zhuǎn),右邊車輪前進,實現(xiàn)迅速左轉(zhuǎn),使得小車可以重回到車道正中。反之類似。
P3.2所接光電對管較偏離車道,只用于檢測到達車站時遇到的黑線,并根據(jù)上升沿進入單片機中斷功能。進入中斷后,單片機先關(guān)閉中斷功能,P1.0-3向電機驅(qū)動送入0000用以停止小車前進。小車從1號站臺之前出發(fā),并設(shè)置N=0,通過計數(shù),如果N≠3,則N=N+1,否則N=0,得到小車此時所在的站臺位置N,并使用無線模塊將此位置信號N通過小車的編號所在通道,比如X1小車使用無線模塊的數(shù)據(jù)傳輸通道1(無線模塊NRF24L01共有6個通道),將N通過通道1傳輸給中央控制臺。當收到中央控制臺確認收到信號時,小車重新啟動電機,開啟中斷功能,并退出中斷。
圖5 主控站臺程序流程圖
如圖3,單片機工作,使得無線模塊始終處于等待接收數(shù)據(jù)狀態(tài),當接收到數(shù)據(jù)時,從通道4讀取數(shù)組RX[3](即為中央控制臺發(fā)出的TX[3]數(shù)組)。以2號站臺為例,對數(shù)組RX[3]中各個元素依據(jù)公式進行重新計算。不難發(fā)現(xiàn),在2號站臺,X1(1號車)、X2(2號車)到達1號站臺后,N=1,與2號站臺僅相距一站不到,X1(1號車)、X2(2號車)到達2號站臺后,N=2,要重新達到2號站臺則還需要經(jīng)過兩站,以此類推,得到1、2號車位置信息N與到達2號站臺的站數(shù)之間的關(guān)系分別為RX[0]=(4-RX[0]%3),RX[1]=(4-RX[1]%3),而3號車位置信息N與到達2號站臺的站數(shù)之間的關(guān)系為RX[2]=RX[2]%3。所以,依據(jù)上面3個公式,對RX[3]數(shù)組進行重新計算,并通過RXmin=min(RX[1],RX[2],RX[3]),得到此時距離2號站臺最近的小車距離RXmin。然后通過液晶顯示出RXmin與小車編號,提示候車的乘客是在此站臺等車,還是在線路對面等車,更為快捷。
本設(shè)計利用了單片機來作為核心控制模塊,通過單片機之間的無線通信及自動循跡小車,實現(xiàn)對于現(xiàn)實公交系統(tǒng)的簡單模擬。該模擬系統(tǒng)可以優(yōu)化目前的公交系統(tǒng),并解決仍然存在的問題。
[1]張發(fā)海.基于單片機STC89C52的LED數(shù)碼管溫度顯示及報警器的實現(xiàn).科技信息,2009年35期(87-88)
[2]陳勖.李爾園全球定位系統(tǒng)(GPS)現(xiàn)代化運行控制段(OCX)的進展與現(xiàn)狀.全球定位系統(tǒng),2010年02期(56-59)
[3]江明.單片機控制多功能信號發(fā)生器.吉林大學, 2004
[4]張海順,劉鐵根,王峻松,朱體高. 基于AT89C52單片機的GP觸摸屏通訊.自動化與儀表,2009年06期 (22-25)