ELEOK
標題: 交通燈模擬設計 LabVIEW倒計時紅綠燈 [打印本頁]
作者: 楊大俠 時間: 2021-2-3 21:29
標題: 交通燈模擬設計 LabVIEW倒計時紅綠燈
交通燈通常指由紅、黃、綠三種顏色燈組成用來指揮交通的信號燈。在我國交通法律上規定:綠燈亮時,準許車輛通行,黃燈亮時,已越過停止線的車輛可以繼續通行;紅燈亮時,禁止車輛通行。
設計目的:
設計這款交通燈模擬系統可以真實直觀的反映出十字路口紅綠燈亮滅情況,有利于駕駛員學習相關的交通規則,連接上相應的硬件設備還可以作為一款十字路口的交通燈控制系統。
程序特點:
這款交通燈模擬系統基于labview軟件開發,界面全部自己設計,簡潔明了。在以往單純的紅綠交替變化功能上添加了倒計時功能和燈光閃爍功能,并且配備有操作板可以人為設置各路口紅綠燈的亮滅時間,現實中可以根據實際路況進行有目地的調整,使交通更加通暢。
設計過程:
1.首先我先用簇來創建交通燈,用一個while循環配合使用層疊順序結構實現最簡單的紅綠黃燈交替變化,模擬出十字路口通行狀態,東西南北方顯可以調節,但功能簡單。
2.通過實際路口的觀察,確認需要添加倒計時模塊,之后嘗試多種方法來實現,均達不到預期的目標。通過一個小例子想到通過數組的索引來控制簇里各控件來模擬LED燈,之后 又加上一個算法成功實現交通燈倒計時功能。
3.現實十字路口的黃燈是閃爍而不是常亮,為了能更好的模擬需要添加一個能夠使黃燈閃爍的模塊,這個模塊通過一個數除以2得到余數的1或者0來控制燈的亮滅,將循環時間縮短即可實現燈的閃爍。
4.在界面設計的時候畫出斑馬線,于是需要在斑馬線兩邊安裝提示燈,便將閃光模塊在此控制綠燈閃爍來提示行人通過。
5.最后設計了一個歡迎界面用來介紹一下程序名稱等。在后面板上程序調用上開始時出現了沒反應的情況,后來反復嘗試通過修改子vi節點設置才成功解決。
歡迎界面:
本界面自己設計的一個開始界面,文字采用和交通燈相似的紅綠黃顏色,介紹了一些相關信息,直接“確認進入”即可進入主程序界面。
歡迎后面板:
后面板采用條件結構來調用子VI。(這步中的子VI通過對子vi節點的設置才可以在運行中調用)
這是程序的主體,結合實際的十字路口設計了紅綠黃燈的交替亮滅,黃燈的閃爍,路口時間倒計時和控制面板。上圖中展現的是南北方向允許通行,此時東西方向禁止通行時間為16s,同時斑馬線兩側的綠燈也會每隔一秒的閃爍,提示行人通行。斑馬線旁邊的倒計時LED燈用來顯示紅燈還有多久熄滅,給行車人提前的準備時間。當倒計時完畢后首先東西方向紅燈變成綠燈,同時斑馬線兩側的綠燈停止閃爍,南北方向綠燈變為黃燈閃爍之后變成紅燈,倒計時開始。在界面美化方面用的是labview自帶的修飾功能自己繪圖所以有一些地方不太完善。
后面板1:
后面板用了一個while循環配合使用層疊順序結構實現各組紅綠燈的間歇亮滅。
下圖為南北通行過程,在層疊順序結構里包含兩個for循環結構,上面的for循環實現燈光的閃爍,下面的for循環里用了模擬LED燈的子vi。可以通過調節東西方向的紅燈點亮時間來控制南北通行時間。
前面板2:
這個面板是東西方向剛恢復通行的指示,黃燈會根據設定的時間(初始時為1s)閃爍不同的次數,一次間隔200ms,之后南北方向的黃燈換成紅燈禁止此方向車輛通行。
后面板2:
這是黃燈階段的后面板,采用了一個閃爍模塊通過面板上黃燈的時間來控制閃爍次數。通過for循環里的等待時間來控制閃爍間隔。開始時設置的四組紅綠燈是通過簇的方式組合,這樣方便直觀,但無法對其中的元素進行單獨控制,所以換成繁雜的直接用布爾常量直接相連樣子,將黃燈放進for循環里進行單獨的閃爍控制。
前面板3:
上圖是東西方向允許通行時的指示,此刻南北方向禁止通行時間是5s,倒計時完畢南北方向紅燈換為綠燈,東西方向綠燈熄滅黃燈閃爍,之后又回到上面前面板1的情況,反復循環,實現紅綠黃交通燈的點亮熄滅來控制十字路口的交通。
VI程序
交通燈仿真.7z
(33.17 KB)
2021-2-3 21:26 上傳
點擊文件名下載附件
5
設計文檔:
_倒計時紅綠燈.doc
(1.1 MB)
2021-2-3 21:26 上傳
點擊文件名下載附件
5
3.png (47.62 KB)
下載附件
2021-2-3 21:29 上傳
2.png (44.22 KB)
下載附件
2021-2-3 21:29 上傳
1.png (44.33 KB)
下載附件
2021-2-3 21:29 上傳
4.png (6.07 KB)
下載附件
2021-2-3 21:29 上傳
| 歡迎光臨 ELEOK (http://m.afoofa.cn/) |
Powered by Discuz! X5.0 |