汪東芳 李迪 梁紀偉 張飛龍
摘要:該設(shè)計以金屬傳感器作為車輛感應器置于路面下,監(jiān)測車流情況,根據(jù)兩條道路上的車流量之比等于兩方紅綠燈的綠燈亮起持續(xù)時間之比,實時自動調(diào)整當前紅綠燈的時間。若是一方雙向道路無車,而另一方有車,無車道路方紅綠燈的綠燈時間置為最小值,有車方綠燈時間根據(jù)車數(shù)確定。該文搭建了基于Arduino控制的智能交通平臺模型,來模擬演示紅綠燈具體的調(diào)整方案,利用到Arduino的中斷、串口通信機制,采用車輛計數(shù)控制與紅綠燈控制分離的方式,設(shè)置按鈕中斷來進行智能模式與備用模式的切換。
關(guān)鍵詞:智能交通;單片機;Arduino;金屬傳感器
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2019)04-0255-02
Abstract: This design uses metal sensor as the vehicle sensor to be placed under the road surface to monitor the traffic flow. According to the ratio of the traffic flow on the two roads, it is equal to the ratio of the green light duration of the two traffic lights, and the current traffic light time is automatically adjusted. If one of the two-way roads has no cars and the other has a car, the green time of the traffic lights on the car-free roads is set to a minimum, and the green time of the vehicles is determined according to the number of cars. This paper builds an intelligent traffic platform model based on Arduino control to simulate the specific adjustment scheme of traffic lights. It uses Arduino's interrupt and serial communication mechanism, and uses vehicle counting control and traffic light control to separate and set button interrupt to intelligent mode. Switching of the standby mode.
Key words: intelligent transportation; single chip; Arduino; metal sensor
1 概述
全國汽車保有量隨著社會經(jīng)濟的快速發(fā)展而持續(xù)較快上漲,以往城市建設(shè)中,花費了大量資金架設(shè)了很多立交橋來解決交通擁堵,但在未來,需要更多在軟件上下功夫,讓城市的道路變得智能。設(shè)計新型的智能交通控制系統(tǒng)可為車主最大限度地減少在道路上不必要的等待時間。2018年11月第五屆世界互聯(lián)網(wǎng)大會上,李彥宏的發(fā)言就提到他們將接管北京海淀區(qū)所有的紅綠燈,經(jīng)過測算,智能紅綠燈可將人們在交通擁堵中等待的時間減少30%到40%。智能紅綠燈結(jié)合智能道路,可根據(jù)檢測到的道路上車輛的多少調(diào)整紅綠燈的紅綠燈時間,具備自動、智能、實時的特點。
2 設(shè)計方案與實現(xiàn)
2.1 車輛計數(shù)方法
在紅綠燈路口四個方向的道路上,每條道路上的雙黃線右側(cè)各設(shè)置一個同等特定長度的車輛計數(shù)區(qū)間,兩排金屬傳感器埋入路面下作為計數(shù)區(qū)間的入口和出口,車輛經(jīng)過第一排金屬傳感器駛?cè)胗嫈?shù)區(qū)間,經(jīng)過路口處的第二排金屬傳感器駛出計數(shù)區(qū)間,均加以記錄。 在程序設(shè)計中,分別為兩排金屬傳感器設(shè)置變量,哪排金屬傳感器檢測到一輛車,對應變量加一。通過變量的差值可以計算區(qū)間內(nèi)的車輛數(shù)。
2.2 紅綠燈智能調(diào)整的具體方案
2.2.1 實時調(diào)整方案
紅綠燈控制與車輛計數(shù)控制相分離,紅綠燈控制器每秒鐘向計數(shù)控制器請求一次數(shù)據(jù),這個數(shù)據(jù)就是計數(shù)控制器根據(jù)記錄的四個計數(shù)區(qū)間內(nèi)的車輛數(shù)計算出的紅綠燈的紅燈和綠燈的時間。紅綠燈的紅、綠燈時間計算方法:設(shè)紅綠燈路口四個方向分別為東、西、南、北,四方各有一個計數(shù)區(qū)間,東、西兩個方向的兩個計數(shù)區(qū)間的計數(shù)取較大值,記為max1,南、北方兩個計數(shù)取較大值記為max2,東西方紅綠燈的綠燈時間設(shè)為ewgt,南北方紅綠燈的綠燈時間設(shè)為sngt,南北方紅綠燈的紅燈時間設(shè)為snrt,snrt=ewgt+x (x包括黃燈時間加東西、南北兩方紅燈重合時間),紅綠燈一個周期內(nèi)紅燈加綠燈時間的和T確定,則max1/max2=ewgt/sngt,max1/max2=ewgt/(T-ewgt-x),ewgt=(max1+max2)/max1(T-x)。
紅綠燈進行到當前紅燈或是綠燈某一時刻時,當前紅燈或是綠燈剩余的時間需不需做改變,是看計數(shù)控制器發(fā)來的數(shù)據(jù)中紅綠燈當前顏色燈新的總時間是否小于當前顏色燈剩余的時間。如果小于,當前顏色燈剩余的時間直接改變?yōu)橛嫈?shù)控制器發(fā)來的值,如果是大于,則不做改變。而進行到當前顏色的下一顏色燈(忽略黃燈),這一顏色燈的倒計時的開始時間在進行到這一顏色燈的前一秒更新為最新值。期間如果出現(xiàn)四個方向其中一對對向兩個方向道路上的計數(shù)區(qū)間內(nèi)都沒有車,另外一對對向兩個計數(shù)區(qū)間內(nèi)都有車或其中一個方向有車的情況,則無車方向紅綠燈的綠燈時間置為最小值,有車方綠燈時間根據(jù)車數(shù)確定。
2.2.2 非實時調(diào)整方案
非實時調(diào)整方案紅綠燈的紅、綠燈時間一個紅綠燈周期結(jié)束更新一次,計算紅綠燈紅、綠燈的時間所用到的數(shù)據(jù)與實時方案有所不同。非實時方案記錄一個紅綠燈周期里進入一個計數(shù)區(qū)間的總車數(shù),四個計數(shù)區(qū)間有四個總車數(shù),根據(jù)四個總車數(shù)來計算紅、綠燈時間,計算方法與實時方案相同,記錄的總車數(shù)每周期清零一次。四個計數(shù)區(qū)間內(nèi)有多少輛車也要加以記錄,如果本周期開始時恰巧遇到一對對向兩個方向道路上的計數(shù)區(qū)間內(nèi)都沒有車,另外一對對向兩個計數(shù)區(qū)間內(nèi)都有車或其中一個方向有車的情況,紅、綠燈時間計算方法與實時方案此情況相同,不再使用上一周期記錄的進入每一計數(shù)區(qū)間的總車數(shù)來計算,此總車數(shù)本周期也不再清零,如果下周期開始時不再是此周期的情況,下周期紅、綠燈時間根據(jù)本周期和上周期進入計數(shù)區(qū)間總車輛數(shù)之和來計算。本方案記錄的數(shù)據(jù)更為準確可靠,而且在某些路口可能更加適用。
2.3 紅綠燈模式選擇
除了紅綠燈的智能實時調(diào)整與非實時調(diào)整兩種方案,另設(shè)緊急模式與空閑模式兩種備用模式以供選擇。緊急模式是全部紅綠燈都為紅燈閃爍,空閑模式是全部紅綠燈為綠燈閃爍。四種模式對應四個按鈕,手動按下哪個模式的按鈕,紅綠燈即按照此模式方案運行。
3 主要元器件及在本設(shè)計中的作用和使用
3.1 控制機—Arduino板
選用Arduino作為控制機源于Arduino簡單易操作,且可不具備單片機基礎(chǔ)知識就能使用。本設(shè)計使用到兩種型號的Arduino板,Arduino Uno和Arduino Mega2560。Arduino Uno有14路數(shù)字輸入/輸出引腳,用于紅綠燈的控制。Arduino Mega2560具有54路數(shù)字輸入/輸出引腳,大量的I/O引腳用于連接較多數(shù)量的作為車輛感應器的金屬探測器,接收車輛感應器傳來的信號,進行車輛計數(shù)。Arduino Uno與Arduino Mega2560共地后通過串口相連進行通信。
3.2 車輛感應器——簡易金屬探測器
使用的金屬探測器是根據(jù)已知的電路原理自行焊接,兩個線圈L1、L2一上一下嵌入一塊PCB板表面作為探測板面,如果有金屬物體靠近探測板面,就會有電流流過蜂鳴器使蜂鳴器發(fā)聲。本設(shè)計中,金屬探測器與接收金屬探測器信號的Arduino共地后,從蜂鳴器正極端靠近蜂鳴器處引一根數(shù)據(jù)線與Arduino其中一個數(shù)字I/O接口相連。金屬探測器檢測到金屬,蜂鳴器正極處會有電流經(jīng)數(shù)據(jù)線流向Arduino的一個數(shù)字I/O引腳,Arduino在此引腳檢測到高電平后記錄,即完成一次車輛檢測。
3.3 74HC595位移緩存器
74HC595常用于驅(qū)動數(shù)碼管及點陣,此次設(shè)計中74HC595除了驅(qū)動用以顯示倒計時的數(shù)碼管,還用來控制紅綠燈的紅、綠、黃三個顏色燈的變換。74HC595控制三個顏色燈的亮暗是借用它驅(qū)動數(shù)碼管的原理,所以二者的驅(qū)動程序完全相同,只是向74HC595發(fā)送的數(shù)據(jù)是不一樣的。因一個Arduino板控制一個路口的四個紅綠燈,若對向兩個紅綠燈運行完全相同,則至少需控制兩組紅、綠、黃燈,經(jīng)74HC595間接控制可節(jié)省Arduino的控制引腳,也意味著結(jié)構(gòu)布局的優(yōu)化、成本的節(jié)省。
4 小結(jié)
本設(shè)計中紅綠燈的實時變換方案所用到的車量數(shù)據(jù)是本方案的關(guān)鍵,一般而言,一方紅燈即將結(jié)束時,此方一定堵了很多車,而另一方正是綠燈將結(jié)束,此方暢通無阻,車自然就少,按此數(shù)據(jù)根據(jù)計算規(guī)則計算出的紅、綠燈秒數(shù)看似不太合理,但在運行過程中會根據(jù)車輛數(shù)的變化經(jīng)過若干次剩余時間的調(diào)整,使其滿足智能調(diào)整的設(shè)計初衷。本次設(shè)計旨在以創(chuàng)新思想來提供一種新的智能紅綠燈的智能化方案,在大數(shù)據(jù)與物聯(lián)網(wǎng)迅速發(fā)展的時代,對道路上車輛情況的監(jiān)測早已用上更智能更準確的圖像識別技術(shù),圖像識別固然先進,但如何對紅綠燈進行智能化調(diào)整才是首要問題,因此一種切實可行的智能化方案可為以后設(shè)計技術(shù)更為先進的未來智能交通平臺提供參考。此外設(shè)計基于微機控制的智能化系統(tǒng),關(guān)鍵在于協(xié)調(diào)硬件連接與控制程序的聯(lián)系,二者為對方優(yōu)化而優(yōu)化,因?qū)Ψ絻?yōu)化而自身優(yōu)化。
參考文獻:
[1] 曹競豪, 徐天偉, 鄭鵬.基于單機片的智能交通紅綠燈控制系統(tǒng)設(shè)計[J].科技創(chuàng)新與應用,2017(16).
[2] 何瑞, 滕道祥, 仲學軍,等.紅綠色盲過交通燈輔助系統(tǒng)的設(shè)計與實現(xiàn)[J].科技視界,2016(17).
[3] 李永壯,李昌興,王歡.基于Android光線傳感器的實現(xiàn)及數(shù)據(jù)優(yōu)化算法[J].西安郵電學院學報,2012(4).
【通聯(lián)編輯:謝媛媛】