国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Arduino單片機(jī)的智能交通燈控制系統(tǒng)仿真設(shè)計(jì)

2018-11-22 02:23青島港灣職業(yè)技術(shù)學(xué)院武玉升
電子世界 2018年21期
關(guān)鍵詞:輔路交通燈數(shù)碼管

青島港灣職業(yè)技術(shù)學(xué)院 武玉升

以Arduino uno單片機(jī)為核心處理器,以Proteus 8.5電路仿真軟件為平臺(tái),設(shè)計(jì)了基于提高主路通行效率的智能交通燈控制系統(tǒng)仿真電路。系統(tǒng)中設(shè)計(jì)了六個(gè)超聲波測(cè)距傳感器,用于檢測(cè)十字路口各個(gè)方向有無(wú)機(jī)動(dòng)車。采用Proteus可視化編程技術(shù)編寫(xiě)了系統(tǒng)控制程序。在保證主路機(jī)動(dòng)車優(yōu)先通行的基礎(chǔ)上,動(dòng)態(tài)檢測(cè)到輔路方向有機(jī)動(dòng)車通行要求時(shí),系統(tǒng)自動(dòng)分配通行時(shí)間。系統(tǒng)成功仿真運(yùn)行,實(shí)現(xiàn)了提高主路通行效率的目的。

為了解決交通擁堵問(wèn)題,許多城市在交通繁忙的十字路口開(kāi)始設(shè)置智能交通燈控制系統(tǒng),能夠根據(jù)車流量動(dòng)態(tài)設(shè)置交通燈控制時(shí)間,從而提高了通行效率。但是對(duì)于一些交通不太繁忙的十字路口,大多還是設(shè)置的普通交通燈控制系統(tǒng),各方向的通行時(shí)間設(shè)置是固定的,在一個(gè)方向上車流量相對(duì)較大的情況下,不能有效提高通行效率(章偉,張代遠(yuǎn).基于車流量的交通燈控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2015(05):196-204)。有些十字口一條路車流量明顯高于另一條路,車流量較大的本文稱為主路,相應(yīng)的另一條稱為輔路。主路行人及車流量比輔路大,如果交通燈設(shè)置不合理,常常會(huì)出現(xiàn)輔路沒(méi)有通行需要的情況下,依然給輔路設(shè)置通行時(shí)間,主路的行人和車輛依然需要等待一個(gè)信號(hào)燈周期,這無(wú)疑降低了通行效率。

對(duì)于具有主路和輔路特點(diǎn)的十字路口,本文研究了一種智能交通燈控制系統(tǒng),通過(guò)Proteus仿真軟件成功進(jìn)行了仿真運(yùn)行。本系統(tǒng)以Arduino uno單片機(jī)為核心處理器,設(shè)計(jì)了六個(gè)超聲波測(cè)距傳感器,用于檢測(cè)十字路口各個(gè)方向有無(wú)機(jī)動(dòng)車。假設(shè)東西向?yàn)橹髀罚媳毕驗(yàn)檩o路,主路交通流量大于輔路。在輔路方向上沒(méi)有通行要求時(shí),交通燈將保證主路方向持續(xù)通行。在動(dòng)態(tài)檢測(cè)到輔路方向有通行要求時(shí),系統(tǒng)自動(dòng)給輔路分配通行時(shí)間,從而實(shí)現(xiàn)了提高主路通行效率的目的。

圖1 電路的總體結(jié)構(gòu)框圖

圖2 十字路口布局圖

1 智能交通燈控制系統(tǒng)總體設(shè)計(jì)

總體控制電路結(jié)構(gòu)框圖如圖1所示,十字路口的布局圖如圖2所示??刂齐娐分饕ˋrduino uno單片機(jī)控制系統(tǒng)、超聲波車輛檢測(cè)電路,I/O接口擴(kuò)展電路、數(shù)碼管顯示電路、紅綠燈顯示電路和工作模擬控制電路(吳文亮,張靚.基于多單片機(jī)的智能控制交通信號(hào)燈設(shè)計(jì)[J].寧波職業(yè)技術(shù)學(xué)院學(xué)報(bào),2015(05):87-90)。

Arduino uno是整個(gè)電路的核心,用于處理超聲波車輛檢測(cè)電路送來(lái)的信號(hào)、控制紅綠燈按照交通控制規(guī)則顯示、控制各通行方向上的數(shù)碼管顯示計(jì)時(shí)信息。超聲波車輛檢測(cè)電路設(shè)有六個(gè)超聲波傳感器,圖2中A、B兩點(diǎn)各設(shè)置兩個(gè),C、D兩點(diǎn)各設(shè)置一個(gè),用于檢測(cè)有無(wú)機(jī)動(dòng)車要求通過(guò)輔路。I/O接口擴(kuò)展電路用于擴(kuò)展單片機(jī)的I/O接口,以連接所需數(shù)量的數(shù)碼管和紅綠燈。數(shù)碼管顯示電路設(shè)有四組數(shù)碼管,如圖2所示,每組數(shù)碼管能夠顯示兩位十進(jìn)制數(shù),用于顯示通行方向上紅燈、綠燈和黃燈的顯示剩余時(shí)間。紅綠燈顯示電路由六組紅綠燈組成,每組紅綠燈設(shè)有紅燈、綠燈和黃燈各一個(gè),分別設(shè)置在六個(gè)通行方向上。

2 智能交通燈控制仿真電路設(shè)計(jì)

2.1 核心微控制器選型

本文研究的智能交通燈控制系統(tǒng),選用Arduino uno單片機(jī)是比較好的選擇。Arduino uno實(shí)際上是一塊單片機(jī)開(kāi)發(fā)板,其核心是ATmega328 MCU控制器,集成了最小系統(tǒng)、閃存存儲(chǔ)器、I/O接口、電源電路、在線編程電路等硬件。通過(guò)一條USB數(shù)據(jù)線連接電腦,就可以實(shí)現(xiàn)供電和程序燒錄,同時(shí)還可以選擇電源適配器或9V電池供電。具備數(shù)字輸入/輸出接口、PWM輸出接口和模擬輸入接口,均可以通過(guò)杜邦線引出,電路搭接方便。采用電路仿真軟件Proteus8.5以上的版本可以方便地對(duì)Arduino uno單片機(jī)進(jìn)行仿真,軟件提供了各種元器件、傳感器、顯示器件等仿真模型,可以通過(guò)電腦方便地搭建仿真電路??刂瞥绦蚓帉?xiě)可以采用可視化設(shè)計(jì)技術(shù),通過(guò)連接流程圖的形式,使程序編寫(xiě)更加直觀、簡(jiǎn)潔,可以方便地實(shí)現(xiàn)多條件分支邏輯的編程(晁松杰.基于ARM智能交通燈控制系統(tǒng)的設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2017(12):52-53)。

2.2 超聲波傳感器仿真電路設(shè)計(jì)

在智能交通燈控制系統(tǒng)中進(jìn)行機(jī)動(dòng)車檢測(cè)的方式有很多,本系統(tǒng)只需要檢測(cè)行車道是否有機(jī)動(dòng)車,選擇采用超聲波傳感器。利用超聲波傳感器檢測(cè)機(jī)動(dòng)車,具有非接觸、成本低、壽命長(zhǎng)、安裝維護(hù)簡(jiǎn)單等優(yōu)點(diǎn)。圖2中A點(diǎn)位于北向南車道上,設(shè)置兩個(gè)超聲波傳感器,一個(gè)用于檢測(cè)直行車道機(jī)動(dòng)車,另一個(gè)用于檢測(cè)直行左轉(zhuǎn)并用車道機(jī)動(dòng)車,B點(diǎn)同A點(diǎn)相對(duì)設(shè)置在南向北車道上。C點(diǎn)和D點(diǎn)各設(shè)置一個(gè)超聲波傳感器,用于檢測(cè)西向東左轉(zhuǎn)和東向西左轉(zhuǎn)車道的機(jī)動(dòng)車(吳少雄,王彩紅.基于傳感器感應(yīng)式的智能交通燈技術(shù)[J].福建電腦,2016(12):139-140)。

圖3 超聲波檢測(cè)機(jī)動(dòng)車方法示意圖

以B點(diǎn)為例,利用超聲波檢測(cè)車道有無(wú)機(jī)動(dòng)車的方法示意圖如圖3所示。每個(gè)超聲波傳感器都朝向相應(yīng)的機(jī)動(dòng)車道。若機(jī)動(dòng)車正常停在車道停止線前方等待通過(guò),超聲波傳感器發(fā)射的超聲波就會(huì)被車輛反射回來(lái)。反射回來(lái)的超聲波被接收部件接收到后,會(huì)向單片機(jī)發(fā)送相應(yīng)的回響信號(hào)。通過(guò)數(shù)據(jù)處理,單片機(jī)可計(jì)算出車輛同超聲波傳感器之間的距離,從而判斷出該車道有無(wú)機(jī)動(dòng)車。

2.3 單片機(jī)I/O接口擴(kuò)展仿真電路設(shè)計(jì)

Arduino uno單片機(jī)的數(shù)字I/O接口只有14個(gè),需要進(jìn)行擴(kuò)展。本設(shè)計(jì)選用了74HC595集成電路。74HC595是八位串行輸入/并行輸出移位寄存器,具有三態(tài)輸出和輸出鎖存功能。在數(shù)據(jù)移位的過(guò)程中,74HC595的數(shù)據(jù)輸出寄存器可以保證輸出數(shù)據(jù)保持不便,從而避免數(shù)碼管和紅綠燈出現(xiàn)閃爍現(xiàn)象。74HC595只占用單片機(jī)的3個(gè)I/O接口,就能實(shí)現(xiàn)8×n個(gè)并口擴(kuò)展,具有電路簡(jiǎn)單、編程方便的特點(diǎn)。本設(shè)計(jì)需要用六個(gè)74HC595擴(kuò)展得到六個(gè)8位并口。單片機(jī)的IO0接在首位74HC595的DS引腳,提供串行數(shù)據(jù)。IO1接在所有74HC595的SH_CP引腳,通過(guò)輸出脈沖的上升沿使串行數(shù)據(jù)移位。IO2接在所有74HC595的ST_CP引腳,通過(guò)輸出脈沖的上升沿輸出并行數(shù)據(jù)。

2.4 數(shù)碼顯示仿真電路設(shè)計(jì)

如圖2所示,系統(tǒng)中需要四組數(shù)碼管顯示電路。右側(cè)的一組數(shù)碼管用于顯示西向東方向計(jì)時(shí),左側(cè)的一組數(shù)碼管用于顯示東向西方向計(jì)時(shí),根據(jù)控制邏輯,系統(tǒng)運(yùn)行時(shí)有可能存在西向東或東向西單獨(dú)通行的情況,數(shù)碼管顯示計(jì)時(shí)數(shù)值可能不同,所以這兩組數(shù)碼管需要單片機(jī)分別驅(qū)動(dòng)。上下兩組數(shù)碼管用于顯示南北雙向通行計(jì)時(shí),南北向車道作為輔路,交通燈控制邏輯比較簡(jiǎn)單,雙向始終同時(shí)放行或進(jìn)行,兩組數(shù)碼管顯示計(jì)數(shù)值相同,所以這兩組數(shù)碼管連接在同一組驅(qū)動(dòng)接口上即可。

如果通過(guò)74HC595直接連接數(shù)碼管,則每個(gè)數(shù)碼管都要占用一個(gè)74HC595,這將使單片機(jī)的I/O接口擴(kuò)展電路更加復(fù)雜,后續(xù)編寫(xiě)控制程序也會(huì)比較麻煩,所以本設(shè)計(jì)采用74HC595輸出端接74LS48后再接數(shù)碼管的形式。74LS48是共陰極LED七段顯示數(shù)碼管顯示譯碼器,用于將8421BCD碼轉(zhuǎn)換為數(shù)碼管顯示相應(yīng)十進(jìn)制數(shù)字的段碼。這樣一個(gè)74HC595可以通過(guò)74LS48連接兩個(gè)數(shù)碼管,編寫(xiě)控制程序時(shí)只需要通過(guò)74HC595輸出相應(yīng)數(shù)字的8421BCD碼即可,從而簡(jiǎn)化了程序設(shè)計(jì)。

3 單片機(jī)控制程序設(shè)計(jì)

采用電路仿真軟件Proteus8.5仿真Arduino uno單片控制系統(tǒng)時(shí),控制程序編寫(xiě)采用可視化設(shè)計(jì)技術(shù),所有程序都由各種功能的流程圖連接而成,程序編寫(xiě)直觀、簡(jiǎn)潔,可以方便地實(shí)現(xiàn)多條件分支邏輯的編程。

編寫(xiě)控制程序之前,首先要明確系統(tǒng)的控制邏輯。為便于分析,假設(shè)各個(gè)方向綠燈持續(xù)時(shí)間均為25秒。

(1)普通運(yùn)行模式。十字路口放行規(guī)則是:首先東西雙向直行放行,然后東西雙向左轉(zhuǎn)放行,最后南北雙向直行加左轉(zhuǎn)同時(shí)放行。交通燈變換規(guī)則是:通行方向上綠燈熄滅前會(huì)閃爍3秒,然后黃燈亮3秒,最后紅燈點(diǎn)亮。數(shù)碼管計(jì)時(shí)規(guī)則是:綠燈和紅燈都是運(yùn)行時(shí)間剩余9秒時(shí)顯示倒計(jì)時(shí)數(shù)字,黃燈亮?xí)r相應(yīng)數(shù)碼管顯示3秒倒計(jì)時(shí)數(shù)字,其余時(shí)間數(shù)碼管均處于熄滅狀態(tài)。

(2)智能運(yùn)行模式。十字路口放行規(guī)則是:若各方向車道均有機(jī)動(dòng)車等待通過(guò),則系統(tǒng)運(yùn)行方式同普通運(yùn)行模式相同。在南北雙向、東西雙向左轉(zhuǎn)均無(wú)機(jī)動(dòng)車和行人申請(qǐng)通行的情況下,系統(tǒng)將一直保持東西雙向直行放行。系統(tǒng)其它可能的運(yùn)行狀態(tài)如表1所示。用序號(hào)表示的話,系統(tǒng)可能的運(yùn)行順序有:①、①②、①③、①④、①②④、①③④。其中①②④順序同普通運(yùn)行模式順序一致。

表1 智能運(yùn)行模式運(yùn)行狀態(tài)表

系統(tǒng)主程序如圖4所示,體現(xiàn)了Proteus軟件的可視化設(shè)計(jì)技術(shù),繪制流程圖的過(guò)程就是編程的過(guò)程。其中SETUP到END程序模塊是系統(tǒng)初始化程序,包括設(shè)置單片機(jī)的I./O接口為輸入或輸出模式、設(shè)置中斷申請(qǐng)方式等。LOOP到END程序模塊為系統(tǒng)主循環(huán),系統(tǒng)初始化后,單片機(jī)將一直循環(huán)執(zhí)行主循環(huán)中的程序。其中commode為普通運(yùn)行子程序,usmode為智能運(yùn)行子程序。

圖4 系統(tǒng)主程序

4 結(jié)論與展望

以電路仿真軟件Proteus8.5為平臺(tái),搭建了智能交通燈控制系統(tǒng)仿真電路。系統(tǒng)選用Arduino uno單片機(jī)作為中心控制器,選用超聲波傳感器仿真模型模擬檢測(cè)行車道有無(wú)機(jī)動(dòng)車,選用移位寄存器74HC595對(duì)單片機(jī)的I/O接口進(jìn)行了擴(kuò)展,選用七段LED數(shù)碼管譯碼顯示電路進(jìn)行倒計(jì)時(shí)顯示,選用紅、黃、綠三種顏色LED作為交通信號(hào)燈。采用Proteus可視化設(shè)計(jì)技術(shù)編寫(xiě)了系統(tǒng)控制程序,程序仿真運(yùn)行滿足設(shè)計(jì)要求。通過(guò)手動(dòng)調(diào)整超聲波傳感器仿真數(shù)據(jù)、工作模式轉(zhuǎn)換開(kāi)關(guān)、行人南北通行按鍵開(kāi)關(guān),成功仿真了各車道不同通行狀態(tài)下系統(tǒng)運(yùn)行情況,普通運(yùn)行模式和智能運(yùn)行模式實(shí)現(xiàn)正常切換。

實(shí)際應(yīng)用中,對(duì)于具有主路和輔路特點(diǎn)的十字交叉路口,可以在現(xiàn)有交通燈控制系統(tǒng)的基礎(chǔ)上進(jìn)行改造,不需要對(duì)路面進(jìn)行大規(guī)模破土挖掘,只需要更換控制板以及在路面加裝超聲波傳感器即可。因此,利用本系統(tǒng)對(duì)原有交通燈控制系統(tǒng)進(jìn)行改造技術(shù)簡(jiǎn)單、費(fèi)用低廉,但能有效提高主路的通行效率,對(duì)緩解城市道路的交通擁堵具有重要的現(xiàn)實(shí)意義。

猜你喜歡
輔路交通燈數(shù)碼管
Arduino編程
設(shè)置輔路的城市主干路交叉口設(shè)計(jì)方法
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)
一直飄紅的交通燈
主干路輔路設(shè)計(jì)探討
基于單片機(jī)的LED模擬交通燈設(shè)計(jì)
基于VISSIM仿真的快速路出口控制方式研究