陳蓓玉 陳天元
南京信息工程大學,江蘇 南京 210044
目前,因公交運力不足或堵車等問題導致的站臺等車時間過長,等車時間不確定等問題給人們帶來了很大困擾,另外,對于很多環形公交線路而言,如何乘車才能更快地到達目的地也給不少乘客帶來了困惑。盡管一些城市的公交站臺已經提供等車時間預告功能,即告知下一班車處于哪一站,但是對于環形線路而言,換乘哪一班車可以更快地到達目的地,現有的站臺提醒系統并無法提供相關信息。
本系統的提出,通過單片機的無線通信與數據處理等功能,將會繼續優化目前的公交系統,并解決仍然存在的問題。

圖1 系統框圖

圖2 智能公交模擬系統硬件框圖
如圖1,藍色線標志小車向中央控制發出無線信號,告知中央控制此時本車的位置信息;紅色線標志中央控制向站臺發出無線信號,告知站臺此時處于環路上的小車的位置信息,站臺對收到的信息進行運算處理,顯示出此時最優換乘的方案。
如圖2,1、2號小車在順時針車道從站臺A之前出發,3號小車在逆時針車道從站臺A之前出發,程序開始運行,在主函數中執行循跡小車算法。當檢測到地面垂直于行車道的黑線時,進入外部中斷,小車停車,小車內部記錄的位置信號N+1,若為3,則計為1,并向主控站臺2發出此時計數得到的站臺位置信號N。主控站臺2始終保持等待接收狀態,在接收到小車傳來的位置信息時,對位置信息進行整理,把系統中3輛小車的位置信息發往其他各個站臺,并且計算離本站最近的小車編號與相距站數,在液晶上顯示,提示候車乘客的最優換乘路線,是在順時針方向等候,還是在逆時針方向等候,以及車輛編號。其他站臺始終保持等待接收狀態,在接收到主控站臺2傳來的小車位置信息時,對位置信息進行運算處理,計算出離本站最近的小車編號以及離本站剩余的站數,并在液晶上顯示,提示候車乘客最佳乘車方向以及車輛編號。
整個系統包含7片單片機,3輛小車,3個L298電機驅動模塊,15個光電對管集成模塊,7片NRF24L01無線收發模塊,3片液晶等電路元件構成。

圖3 STC89C52

圖4 公交模擬系統小車設計程序流程
通過太陽能電池板發出電能,通過DC-DC變換、整流、濾波為蓄電池充電,蓄電池用以提供小車整個系統的電能。
如圖3、4,主控芯片STC89C52,P0.0-P0.3連接光電對管,檢測黑白線。其中P0.0-P0.3用以檢測路面黑白線,當光電對管正對黑線時,光電對管輸出高電平,使單片機管腳輸入為1,當光電對管正對白線時,光電對管輸出低電平,使單片機管腳輸入為0。車道寬度選用2~3cm,使得小車用于掃描車前的4個光電對管,中間兩個在車道上用以檢測黑線,最左和最右的兩個用以檢測白色地面。當單片機P0.0-3輸入為0110時,表明小車大致在車道正中行駛。當P0.0-3輸入序列為0100時,說明車道向左邊偏轉一些,即小車應當向左轉彎。此時,單片機P1.0-3向電機驅動模塊輸出0010,并延時少許,使得小車可以保持左邊車輪停止,右邊車輪前進,實現左轉。當P0.0-3輸入序列為1100或1000時,說明車道向左邊偏轉很大,即小車應當向左迅速轉彎。此時,單片機P1.0-3向電機驅動模塊輸出0110,并延時少許,使得小車可以左邊車輪反轉,右邊車輪前進,實現迅速左轉,使得小車可以重回到車道正中。反之類似。
P3.2所接光電對管較偏離車道,只用于檢測到達車站時遇到的黑線,并根據上升沿進入單片機中斷功能。進入中斷后,單片機先關閉中斷功能,P1.0-3向電機驅動送入0000用以停止小車前進。小車從1號站臺之前出發,并設置N=0,通過計數,如果N≠3,則N=N+1,否則N=0,得到小車此時所在的站臺位置N,并使用無線模塊將此位置信號N通過小車的編號所在通道,比如X1小車使用無線模塊的數據傳輸通道1(無線模塊NRF24L01共有6個通道),將N通過通道1傳輸給中央控制臺。當收到中央控制臺確認收到信號時,小車重新啟動電機,開啟中斷功能,并退出中斷。

圖5 主控站臺程序流程圖
如圖3,單片機工作,使得無線模塊始終處于等待接收數據狀態,當接收到數據時,從通道4讀取數組RX[3](即為中央控制臺發出的TX[3]數組)。以2號站臺為例,對數組RX[3]中各個元素依據公式進行重新計算。不難發現,在2號站臺,X1(1號車)、X2(2號車)到達1號站臺后,N=1,與2號站臺僅相距一站不到,X1(1號車)、X2(2號車)到達2號站臺后,N=2,要重新達到2號站臺則還需要經過兩站,以此類推,得到1、2號車位置信息N與到達2號站臺的站數之間的關系分別為RX[0]=(4-RX[0]%3),RX[1]=(4-RX[1]%3),而3號車位置信息N與到達2號站臺的站數之間的關系為RX[2]=RX[2]%3。所以,依據上面3個公式,對RX[3]數組進行重新計算,并通過RXmin=min(RX[1],RX[2],RX[3]),得到此時距離2號站臺最近的小車距離RXmin。然后通過液晶顯示出RXmin與小車編號,提示候車的乘客是在此站臺等車,還是在線路對面等車,更為快捷。
本設計利用了單片機來作為核心控制模塊,通過單片機之間的無線通信及自動循跡小車,實現對于現實公交系統的簡單模擬。該模擬系統可以優化目前的公交系統,并解決仍然存在的問題。
[1]張發海.基于單片機STC89C52的LED數碼管溫度顯示及報警器的實現.科技信息,2009年35期(87-88)
[2]陳勖.李爾園全球定位系統(GPS)現代化運行控制段(OCX)的進展與現狀.全球定位系統,2010年02期(56-59)
[3]江明.單片機控制多功能信號發生器.吉林大學, 2004
[4]張海順,劉鐵根,王峻松,朱體高. 基于AT89C52單片機的GP觸摸屏通訊.自動化與儀表,2009年06期 (22-25)