彭俊,陳順材,張澤,張詩,董錚
(湖北文理學院計算機工程學院,湖北襄陽,441053)
隨著信息技術的不斷發展,各行各業中都引入了智能技術,智能交通控制系統必將是世界范圍內交通行業的一場新革命。未來的交通系統將集成先進的信息、通信、控制、傳感器與計算器等系統,綜合這些技術有效的應用,使行人、車輛與道路之間的相互關系、相互作用更加清晰明了,達到節能、環保、有效、可靠與安全的目的。
STM32智能化交通燈系統設計可以實現交通的安全運行,提高交通管理智能化、科學化,該系統主要是利用單片機對交通信號燈進行智能控制。經過大量的實驗研究表明,該系統具有結構簡單、成本低、效率高等優勢,能極大地提高交通通行能力。
本系統設計主要由STM32單片機、電源模塊、紅綠燈模塊、倒計時顯示模塊、語音播報模塊與按鍵模塊組成。本系統的具體結構框圖如圖1所示,各個模塊的工作由STM32中央處理器來控制處理。按鍵模塊用來設置紅綠燈點亮時間的長短,由兩個機械按鍵組成,兩個按鍵的功能分別是增加時間與減少時間。倒計時顯示模塊用以顯示紅、綠、黃三個顏色的持續時間。紅綠燈模塊用來提示“停止”、“通行”與“注意”三個意思,其中紅燈代表的是“停止”,綠燈代表的是通行,黃燈代表的是警示,此模塊由紅、綠、黃三個LED燈組成。整個系統由硬件組成,由軟件來驅動。按鍵設置的是紅燈的時間,綠燈的時間將比紅燈的時間短3秒,默認黃燈的時間為3秒,交通燈按設置時間進行工作,揚聲器按照交通燈的燈況進行語音播報。

圖1 系統結構框圖
STM32芯片中,采用F103C8T6這一型號的芯片,不僅能有效的增強容量,而且其屬于32位的ARM內核,而且分為64K字節、128K字節兩種內存的微控制器,接口主要有USB接口、CAN接口、定時器接口、ADC接口等。其TISC內核性能在ARM?Architecture?-M3系列中屬于較高性能的[1]。采用72MHz的工作頻率,配備高速存儲器,增強型的多個I/O端口,同時外設與兩個APB總線連接。而就設備類型而言,主要有兩個12位的ADC,三個通用類16位的定時器,以及一個PWM定時器,同時還設置了標準較高的通信接口,比如USB3.0,以及兩個I2C接口與SPI接口,此外,還有三個USART接口和一個USB接口與CAN接口。
電源模塊采用USB接口給系統輸入一個穩定的5V電壓,其電源線路如圖3.2所示。USB接口使用起來非常的便利,可以插在手機充電器、充電寶和電腦上,而且價格非常低廉,可以節約不少成本。
語音播報模塊由喇叭與芯片MY1690-12P構成,MY1690-12P為小巧的微集成式MP3模塊,其主控芯片為MY1690-16S MP3能對MP3格式和WAV格式進行解碼,最大支持32G拓展卡,還能外接U盤,也能通過USB數據線連接外部存儲設備,也可以連接計算機來替換SD卡中的音頻文件,這一模塊中內置了3W的放大器,能直接將3W的揚聲器驅動[2]。
按鍵電路如圖2所示,其中S1為時間上調按鍵,作用是對時間進行上調,S2的作用則是對時間進行下調的按鍵,這些按鍵開關均采用機械式開關。當斷開或者閉合開關的時候,因為機械觸點具有彈性作用,按鍵開關閉合時,不會迅速穩定接通。同樣,按鍵開關斷開時也不是迅速的中斷,所以在斷開或閉合瞬間會存在一連串抖動,而為避免這一問題,就需要對其進行消抖設計。

圖2 按鍵電路
LED是一種發光二極管,它可以把電能轉換成人肉眼可見的光的一種固態半導體器件[3]。它的核心為半導體晶片,半導體晶片的一端安裝在支架上,一端為負極,而另一端將連接到電源的正極,為了用電安全,必須確保環氧樹脂將晶片封裝嚴實。LED最初是在儀器儀表中作為指示光源,而后續越來越多光色的LED廣泛的在交通信號燈與顯示屏中應用,并且帶來的社會效益與經濟效益良好。在交通信號燈電路中,總共包含了四組LED燈,每組都包含了紅黃綠三色LED燈。其中,LED燈的負極接地,而正極則與STM32單片機的輸出端相接,若STM32單片機的輸出端輸出高電平時,LED燈就可以正向導通而發光,
倒計時顯示電路如圖3所示,均是采取LED數碼管進行分段顯示的。在LED數碼管中,包含了多個采用LED封裝而成的“8”字型器件來組成,而在內部已經連接好引線,只需引出它們的各個筆劃與公共電極。在LED數碼管中,常用段號以7為主,但是有的會加上小數點,而有的則為半位數字、1、2、3、4、5、6、8、10等,LED數碼管在連接過程中,有共陽、共陰兩種方式[4]。當掌握了LED這些特點之后,就能為編程帶來更多的便利。這主要是由于數碼管類型不同,不僅在硬件電路方面存在的差異需要了解,而且還要切實強化程序設計,但是設計的方法不同,其采用的原理和思路也不同。比如在普通的共陽極數碼管中,其內部電路的發光原理雖然相同,但是其電源的極性不同。

圖3 倒計時顯示電路
本設計采用ARM為核心控制中心,采用的的是STM32F 103C8T6芯片,開發環境是Keil uVision5 by ARM軟件,這款開發環境是目前STM32單片機系統。具體系統流程如圖4所示。

圖4 系統流程圖
語音模塊流程圖見圖5。

圖5 流程圖
語音模塊典型程序:

根據原理圖檢查硬件電路組線是否一致,對每個元器件的引腳正確與否、漏焊與否進行檢測,當檢測無誤之后進行通電測試,其具體過程主要為:
(1)設置紅燈時間
通過時間上調按鍵與下調按鍵,將南北方向紅燈的點亮時間設置為14秒,則綠燈的點亮時間設為11秒,黃燈點亮時間為3秒。設置紅燈時間如圖6所示,則紅燈從14秒開始計時。

圖6 設置紅燈時間
(2)綠燈計時
紅燈計時完成后,綠燈開始11秒倒計時,綠燈計時如圖7所示,同時語音模塊工作,揚聲器會播報聲音“紅燈禁行,綠燈通行”。

圖7 綠燈計時
(3)黃燈計時
綠燈11秒倒計時完成之后,黃燈立即開始3秒倒計時,黃燈計時如圖8所示。

圖8 黃燈計時
黃燈3秒倒計時完成后,再次轉換為紅燈,重復上述過程,如此一直循環,硬件測試完畢。
本系統在傳統的交通燈基礎上設計了智能交通燈系統。經過多次的實驗檢測與調試,能夠成功實現以下功能:(1)燈況能夠顯示;(2)燈亮的時間可顯示;(3)燈亮時間能夠調節;(4)有語音提示燈況。
此系統的具有一定的智能化,能夠大大提高交通的通行效率,減少交通事故的發生,改善交通擁堵等問題。