摘 要:隨著互聯網及物聯網技術的發展,世界開始走向智能化時代,汽車產業將向智能化和自動化方向發展。車聯網中的智能交通管家就是汽車工業和物聯網技術相結合的產物,該應用應具備紅綠燈識別、汽車碰撞監測報警、手機接收反饋以及語音提醒等功能,以滿足安全出行的需求。文中采用STM32物聯網平臺開發板作為硬件端,利用WiFi技術連接手機APP進行信息傳輸,選用TCS230顏色傳感器用于識別紅綠燈,選用HX711壓力傳感器用于檢測車身是否碰撞。車輛碰撞利用手機APP進行語音提醒且可顯示道路交通燈的顏色并發出語音提示,OLED液晶屏用于顯示顏色傳感器所識別的交通燈的顏色以及WiFi的初始化狀態。硬件各模塊的程序設計采用Keil μVision5對STM32開發板進行編程,應用移動端采用Qt Creator 5.9.1平臺及C++語言開發。該產品運行穩定,性價比高。
關鍵詞:智能交通管家;車聯網;Qt;壓力傳感器;紅綠燈顏色傳感器;汽車碰撞預警機制
中圖分類號:TP33 文獻標識碼:A 文章編號:2095-1302(2024)04-0-05
DOI:10.16667/j.issn.2095-1302.2024.04.028
0 引 言
2016年3月份通過的《國際道路交通公約》修正案同意汽車在相應的時間和地點自動駕駛。目前,大多數國家都在大力投資和扶持智能駕駛技術,美國、歐盟等發達國家和地區在立法、技術研究和試驗測試方面都處于全球領先地位。國際汽車工程師學會(SAE International)的6級分類體系成為通行的分類原則,從低到高的6個級別分別為:不自動型、輔助型L1、部分自動型L2、有條件自動型L3、高級自動型L4、完全自動型L5。當前,世界上的無人車技術大多停留在L2級和L3級[1]。
目前,國內的智能汽車還處在起步階段,部分L1級別的實用車型已經開始商業化;L2級別只有少數汽車能達到;L3級別的車量較少;L4和L5級由于技術限制,至今還未形成市場。目前我國的汽車工業有了長足的發展,汽車性能和智能化程度也在不斷提升。然而,汽車駕駛技術的復雜性也日益引起人們的重視,汽車的駕駛無時無刻都需要駕駛員的全身心投入,汽車外界環境變化會直接影響汽車的操作需求,所以針對外界環境變化的智能交通管家應運而生[2]。
1 系統總體設計
1.1 系統整體架構
該項目硬件包括:紅綠燈識別模塊、車輛碰撞監測模塊、OLED屏顯示模塊、語音提醒模塊、WiFi無線傳輸模塊。該項目能夠實現車輛實時識別紅綠燈當前顏色并顯示的功能以及反饋車輛碰撞情況并進行語音提醒的功能。
利用顏色傳感器對車輛道路現實狀況進行識別,將得到的數據發送到STM32控制器的主控芯片進行數據分析,在顯示屏以及手機APP端顯示數據,手機APP可以語音提醒識別的交通燈顏色。當車輛受到外界壓力碰撞時,壓力傳感器將采集的數據發送到STM32控制器的主控芯片進行數據分析,交通智能管家能夠立即語音提醒并在顯示屏及手機APP端顯示。項目整體架構如圖1所示。
1.2 各子模塊功能設計
1.2.1 紅綠燈識別模塊功能設計
紅綠燈識別模塊的功能基礎是項目中的TCS230顏色傳感器,該傳感器能夠采集顏色數據。通過設備攜帶的色彩采集傳感器,可以很好地還原紅綠燈的真實情況,捕捉準確的色彩信息。當車輛即將通過紅綠燈路口時,顏色傳感器采集當前交通燈的圖像數據,然后由STM32單片機對數據進行特定的程序設計處理,最后顯示與數據對應的顏色文字[3]。
1.2.2 車輛碰撞監測模塊功能設計
車輛碰撞監測模塊采用HX711模塊+5 kg壓力傳感器套裝。當車輛受到外界壓力,例如車輛碰撞或者碰到障礙物時,傳感器采集壓力數據并依次通過HX711模塊和STM32單片機處理后,出發語音提醒。
1.2.3 OLED屏顯示模塊功能設計
紅綠燈識別模塊采集的信息通過芯片相關程序處理后,由OLED屏顯示當前紅綠燈顏色相關數值。
1.2.4 語音提醒模塊功能設計
語音提醒模塊通過WiFi連接手機APP端,當汽車碰撞監控模塊或紅綠燈顏色識別模塊采集到數據后,將數據通過WiFi無線傳輸模塊發送到與其相連的手機APP。手機APP對數據進行處理后調用手機喇叭進行語音提醒。
1.2.5 WiFi無線傳輸模塊功能設計
WiFi無線傳輸采用ESP8266模塊,紅綠燈識別模塊和車輛碰撞監測模塊采集獲取的信息經STM32單片機處理后,通過WiFi無線傳輸方式實現紅綠燈顏色、車輛碰撞情況的傳輸,將數據傳輸到與WiFi模塊連接的手機
APP端。
1.3 硬件設計
總體電路包含紅綠燈識別模塊、車輛碰撞監測模塊、OLED屏顯示模塊、WiFi無線傳輸模塊[4]。交通智能管家總體電路如圖2所示。
1.4 子模塊電路設計
1.4.1 紅綠燈識別模塊電路設計
紅綠燈識別模塊識別紅綠燈的顏色并提示,從而提高駕駛員的駕駛體驗。顏色傳感器使用PA3作為數據傳輸通道,PA2連接模塊的數據輸出端。設定STM32定時器/計數器工作模式,將STM32定時器設定為固定值,然后選取色敏元件的輸出標度系數,并允許輸出管腳。在實際應用中,可以根據STM32計數器值分別求出3種輸出頻率,進而確定R、G、B值和色彩[5]。顏色傳感器電路如圖3所示。
1.4.2 車輛碰撞監測模塊電路設計
車輛碰撞監測模塊可以監測車輛的碰撞情況并發出語音提示,從而減少駕駛員因疏忽造成的交通事故。HX711與MCU采用2線串行數據通信,即一條時鐘線(PD_SCK),一條數據線(DOUT)。ADC采樣數據為24位有符號整數。壓力傳感器電路如圖4所示。
1.4.3 OLED屏顯示模塊電路設計
OLED屏顯示模塊顯示顏色傳感器采集的數據。OLED顯示屏電路如圖5所示。
1.4.4 WiFi無線傳輸模塊電路設計
利用WiFi無線傳輸模塊與手機APP端進行數據傳輸。WiFi模塊電路如圖6所示。
1.5 程序設計
1.5.1 下位機程序設計
本系統下位機軟件采用Keil5編程實現感知層構建,主要包括各系統初始化、各程序的延遲函數、各數字信號傳感器模塊驅動程序、模擬信號傳感器模塊驅動程序、串口通信程序和液晶顯示程序[6]。下機位程序流程如圖7所示。
1.5.2 顏色傳感器程序設計
系統采用C語言編程,在Keil μVision5軟件平臺下編譯調試。C語言的特點是易于移植,簡潔,數據類型豐富,生成目標代碼質量高,程序執行效率高。該程序設計流程:將顏色傳感器TCS230采集的數據通過單片機的I/O數據采集端口輸入單片機,結果顯示在OLED液晶顯示屏和手機APP端[7]。顏色傳感器流程如圖8所示。
1.5.3 壓力傳感器程序設計
采用STM32F103C8T6讀取HX7111壓力傳感器的數據,經過處理后通過顯示屏顯示數值。程序的初始化和程序的主循環寫在main.c文件中,讀取A/D芯片數據,即直接利用GPIO讀寫操作讀取數據和使用STM32的SPI讀取數據。HX711與單片機通信是由管腳SCK和DOUT組成的串行通信模式。當DOUT從高電平變為低電平后,SCK一次輸入25個
脈沖,將24位A/D轉換數據讀入單片機,并在第25個時鐘脈沖處選擇下次轉換的輸入通道和增益。壓力檢測流程如
圖9所示。
1.5.4 WiFi模塊程序設計
ESP8266是一個高性能模塊。WiFi模塊采用透傳模式,否則每發送一次數據就要發送一次AT+CIPSEND=lt;paramgt;指令。通電后初始化,設置AT指令、密碼、名稱以及端口號,如圖10所示。
1.6 移動端APP程序設計
手機APP端采用C++在Qt Creator 5.9.1平臺編譯。APP使用C++11標準,定義了命名空間和Q_OBJECT。
(1)clienttcp.cpp文件:QWidget(parent)。指定調用基類構造函數,否則派生類會調用基類的默認構造,派生類在初始化列表中無法直接初始化從基類繼承的成員變量,構造函數不可繼承,若想調用基類的有參構造,需要顯示指定。
(2)ui(new Ui::ClientTcp)。在堆上創建一個界面ui類,使ui指向它,這樣可以讓非ui命名空間的ClientTcp訪問ui命名空間中的ClientTcp,做到界面與邏輯分離,在調用setupUi初始化后就可通過ui指針讓二者關聯。
(3).ui-gt;setupUi(this)。將非ui域的ClientTcp傳給界面ui,并初始化,讓界面類和此ClientTcp關聯。main.cpp文件中,QApplication管理GUI的流程和主設定,包括主事件周期,這些主事件被視窗系統和其它資源處理、傳送,同時還負責初始化和結束應用,并提供會話管理,可以對系統和應用的大部分設置項進行設置。APP主界面如圖11所示。
(4)移動端APP程序流程如圖12所示。
2 測試與實現
2.1 傳感器測試
測試TCS230顏色識別傳感器、HX711壓力傳感器能否正常供電以及OLED顯示屏是否能顯示采集的數據,顏色識別傳感器能否正常識別顏色以及壓力傳感器能否正常監測壓力,和WiFi模塊是否能正常供電、連接并傳輸數據。傳感器測試見表1所列[8]。
2.2 紅綠燈識別模塊測試
紅綠燈識別模塊實現系統對道路環境交通燈顏色的識別。獲取的數據經處理后判斷交通燈的顏色。識別成功時,手機APP端以及OLED顯示屏都會顯示交通燈的顏色[9-10]。紅綠燈識別模塊成功測試如圖13所示。
2.3 車輛碰撞監測模塊測試
車輛碰撞監測模塊實現系統對車輛車身所受壓力數據的監測采集并語音提醒。獲取的數據經過處理后判斷出車身受到的碰撞程度。測試成功時,手機APP端會顯示車輛發生碰撞且手機發出語音提醒。車輛碰撞監測模塊成功測試如圖14所示。
2.4 OLED屏顯示模塊測試
OLED屏顯示模塊用來顯示顏色識別傳感器識別的交通燈顏色。OLED屏顯示模塊顯示成功如圖15所示。
2.5 WiFi無線傳輸模塊測試
WiFi無線傳輸模塊與手機APP端連接,可發送數據。WiFi無線傳輸模塊連接成功及發送數據成功的測試如圖16所示。
成功測試 成功測試
2.6 語音模塊測試
語音模塊通過WiFi模塊與手機APP相連,接收到顏色數據或碰撞數據后發出語音提醒。語音模塊測試見表2所列。
3 結 語
智能駕駛近年來廣受關注,本文以STM32開發板作為硬件端的數據收集模塊,采用顏色識別傳感器完成紅綠燈顏色的識別,使用壓力傳感器完成對車輛碰撞情況的監測,用戶可以通過手機端或OLED顯示屏實時查看交通燈顏色或壓力監測情況,且手機APP端具有語音提醒功能。此項目仍存在不足之處,縱橫交錯的道路使得紅綠燈的安裝情況錯綜復雜,大大降低了顏色識別傳感器對紅綠燈顏色的識別準確率。又因為車身每個地方都存在遭受碰撞的可能性,因此,設計能夠覆蓋全車的壓力傳感器成為了尚待解決的問題。
參考文獻
[1]白云龍,楊開欣,陳曉韋,等.基于STM32和ZigBee的車路協同系統設計[J].電腦知識與技術,2019,15(4):214-215.
[2]劉文虎.人工智能在汽車自動駕駛中的應用[J].現代制造技術與裝備,2021,57(8):195-196.
[3]黃東風.人工智能在汽車駕駛技術領域的應用與發展[J].時代汽車,2022,19(1):42-43.
[4]于安琪,田楊.人工智能在無人駕駛汽車領域中的應用[J].中國高新科技,2021,28(24):50-51.
[5]趙玉娟.智能網聯汽車發展現狀與思考[J].汽車與安全,2018,24(7):96-99.
[6]王嬙.中國智能汽車政策現狀及完善研究[D].上海:上海交通大學,2018.
[7]劉宇,黎宇科,白文嶺.我國智能汽車產業形態探究[J].汽車與配件,2019,39(11):30-31.
[8]徐小艷,崔雪英.基于單片機的顏色識別及分揀系統設計[J].科技與創新,2021,7(21):109-110.
[9] KUNHIMOHAMMED C K,MUHAMMED S K K,SAHNA S,et al. Automatic color sorting machine using TCS230 color sensor and PIC microcontroller [J]. International journal of research and innovations in science and technology,2015,2(2).
[10]張藝,嚴翌瑄,李靜.基于多傳感器融合的交通數據采集系統概述[J].物聯網技術,2021,11(2):15-18.
收稿日期:2023-04-07 修回日期:2023-05-12
基金項目:2023年國家級大學生創新創業訓練計劃項目:基于Qt的智能交通管家的設計與研究(202313639004)
作者簡介:盧光云(1983—),男,高級工程師,碩士,研究方向為自然語言處理、教育大數據、軟件開發。
程俊瑋(2002—),男,湖北鄂州人,學生,研究方向為圖像識別與處理。