李金燁
利用Arduino開(kāi)發(fā)板,連接紅、黃、綠3個(gè)LED發(fā)光模塊,編譯、上傳代碼后LED燈可交替發(fā)亮,這便是一個(gè)簡(jiǎn)易的模擬交通信號(hào)的創(chuàng)客作品。
如果加裝數(shù)字觸摸傳感器、MIC聲音傳感器、紅外線傳感器等組件,作品的智能程度會(huì)更高。
現(xiàn)實(shí)生活中,交通信號(hào)燈交替發(fā)亮是如何設(shè)計(jì)的?我以十字型路口、左轉(zhuǎn)先于直行的模式進(jìn)行說(shuō)明。
在十字型路口處(不考慮右轉(zhuǎn)彎存在信號(hào)燈)的運(yùn)行情況是這樣的:首先,南北方向左轉(zhuǎn)綠燈亮m1秒,黃燈亮3秒,之后變成紅燈。然后南北方向直行綠燈亮n1秒,黃燈亮3秒,之后變成紅燈。接著,東西方向左轉(zhuǎn)綠燈亮m2秒,黃燈亮3秒;然后東西方向直行綠燈亮n2秒,接著黃燈亮3秒,之后變成紅燈。
信號(hào)燈的指示就是通過(guò)這種循環(huán)模式完成的,它的規(guī)律性較強(qiáng),能讓車輛有序通行。但是,這種方式的缺點(diǎn)在于,不論各方向的車流量如何變化,它都只按設(shè)定的時(shí)間依次運(yùn)轉(zhuǎn),在某個(gè)方向明顯無(wú)車也照樣開(kāi)放綠燈與黃燈的固定時(shí)間內(nèi),車流量大的方向的車輛卻在等紅燈,影響通行效率。
針對(duì)這種情況,能不能用Arduino開(kāi)發(fā)板及相關(guān)組件設(shè)計(jì)出優(yōu)化的交通信號(hào)指揮模型?
該模型設(shè)計(jì)的基本原則是依照預(yù)設(shè)時(shí)間運(yùn)轉(zhuǎn)信號(hào)燈,根據(jù)車流量的變化適時(shí)調(diào)整信號(hào)燈。
具體實(shí)施辦法是,當(dāng)某個(gè)方向綠燈開(kāi)啟時(shí),雖然未達(dá)到預(yù)設(shè)時(shí)間,若本方向再無(wú)通行車輛,偵測(cè)其他方向是否有需要通行的車輛,若有則轉(zhuǎn)換為黃燈3秒,之后變成紅燈。即將達(dá)到預(yù)設(shè)時(shí)間時(shí),偵測(cè)其他方向是否有需要通行的車輛,若無(wú)則本方向綠燈繼續(xù)亮至車輛通行結(jié)束后轉(zhuǎn)換為黃燈,若偵測(cè)到其他方向有需要通行的車輛,則雖本方向車輛通行未結(jié)束也立即轉(zhuǎn)換為黃燈。達(dá)到預(yù)設(shè)時(shí)間時(shí),若本方向無(wú)需要通行的車輛或所有方向均無(wú)需要通行的車輛,則信號(hào)燈按原設(shè)定運(yùn)轉(zhuǎn)。
構(gòu)建交通信號(hào)指揮模型需要的器材有Arduino開(kāi)發(fā)板,紅、黃、綠色LED發(fā)光模塊,轉(zhuǎn)GPIO擴(kuò)展版,紅外遙控器套件,3P連接線等。
基本思路是用紅外遙控器套件輸入數(shù)據(jù),模擬十字路口各方向左轉(zhuǎn)和直行車輛數(shù),利用為Arduino開(kāi)發(fā)板定制的編程工具ArduBlock編寫程序,實(shí)現(xiàn)對(duì)交通信號(hào)燈(LED發(fā)光模塊)的智能控制。
按照南北方向左轉(zhuǎn)、南北方向直行、東西方向左轉(zhuǎn)和東西方向直行分組,實(shí)現(xiàn)交通信號(hào)燈智能控制的基礎(chǔ)偽代碼(以某一方向綠燈開(kāi)啟為例)如下。
While 其他方向無(wú)通行車輛
{
Repeat
本車道綠燈開(kāi)啟
Until 本方向無(wú)通行車輛
Repeat
本車道綠燈開(kāi)啟
Until 本方向預(yù)設(shè)綠燈時(shí)間到
}
While 其他方向有通行車輛
{
Repeat
本車道綠燈開(kāi)啟
Until 本方向預(yù)設(shè)綠燈時(shí)間到 or 本方向無(wú)通行車輛
}
本車道轉(zhuǎn)換為黃燈3秒
本車道轉(zhuǎn)換為紅燈
下一方向綠燈開(kāi)啟并延時(shí)3秒
將以上分組各項(xiàng)再一分為二,如將“南北方向左轉(zhuǎn)”分為“南往西左轉(zhuǎn)”和“北往東左轉(zhuǎn)”,智能控制的效率會(huì)進(jìn)一步提升。
利用Arduino開(kāi)發(fā)板,我構(gòu)建了交通信號(hào)智能指揮模型。將這一探究成果應(yīng)用于現(xiàn)實(shí)交通指揮中,可提高效率、減少擁堵。
這里所述只是用Arduino開(kāi)發(fā)板構(gòu)建解決問(wèn)題的模型,要想解決現(xiàn)實(shí)問(wèn)題,還應(yīng)從單片機(jī)、寄存器層面深層次入手。(指導(dǎo)老師:孫國(guó)強(qiáng))
發(fā)明與創(chuàng)新·中學(xué)生2016年9期