秦博晟



摘要 介紹基于Arduino的一種倒車雷達設(shè)計方案,包括系統(tǒng)的設(shè)計原理、實驗材料、硬件設(shè)計、軟件設(shè)計及測試流程。該設(shè)計基于超聲測距原理,以Arduino為主控板,應(yīng)用HC-SR04超聲波測距模塊、無源蜂嗚器報警模塊及共陰數(shù)碼管顯示模塊,以超聲波實現(xiàn)倒車雷達實時顯示距離數(shù)據(jù)、距離過近報警等功能。經(jīng)測試所有功能系統(tǒng)運行穩(wěn)定,該設(shè)計簡單、易行、成本低廉,具有一定的實用價值。
【關(guān)鍵詞】Arduino開發(fā)板 倒車雷達 超聲測距
Arduino是2005年1月由米蘭交互設(shè)計學(xué)院的兩位教師David Cuartielles和MassimoBanzi聯(lián)合創(chuàng)建,一塊基于開放原始代碼的Simple I/O平臺。現(xiàn)己成為較為流行的電子互動平臺。其基于單片機系統(tǒng)開發(fā),具有使用簡單、功能多樣、價格低廉等優(yōu)點,廣泛應(yīng)用于電子系統(tǒng)設(shè)計和互動產(chǎn)品開發(fā)等方面。它的功能極其豐富,能進行多種開發(fā),制作出多種簡易模型。Arduino硬件被封裝為多個單獨的模塊,各個模塊間使用杜邦線進行連接,擁有較為簡易的硬件組裝方式。Arduino的IDE軟件開發(fā)環(huán)境擁有類似于C語言的開發(fā)環(huán)境和語言習(xí)慣,使其更容易上手進行編程,實現(xiàn)各種功能。
本文介紹使用Arduino開發(fā)板實現(xiàn)簡易倒車雷達系統(tǒng),該系統(tǒng)基于超聲波測距原理實現(xiàn)并輔以實時顯示距離數(shù)據(jù)、距離過近報警等功能,有利于提升車輛的行車安全,在倒車時對司機進行一定的輔助,降低因車輛的視野盲區(qū)而發(fā)生交通事故的幾率。
1 設(shè)計原理
本倒車雷達系統(tǒng)使用Arduino開發(fā)板連接超聲波發(fā)射及接受器、數(shù)碼管及蜂鳴器實現(xiàn)車輛與障礙物間距離的測量、顯示及在距離過近時進行報警。Arduino開發(fā)板根據(jù)超聲波發(fā)射及接受器所傳入的時間差數(shù)據(jù),計算出障礙物與車輛之間的距離,并將此數(shù)據(jù)中的分米整數(shù)值取出,傳出至數(shù)碼管顯示,同時對計算出的距離值進行判斷,若小于臨界值,則觸發(fā)蜂鳴器進行報警。
2 實驗材料
共陰數(shù)碼管*1、面包板*1、面包板跳線若干、無源蜂鳴器*1、Ariduino開發(fā)板*1、超聲波發(fā)射器+l、超聲波接受器+l。
3 硬件設(shè)計
3.1 超聲波測距
超聲波是一種超出人類聽覺極限的聲波,即其振動頻率高于20 kHz。其具有頻率高、波長短、衍射小、方向性好等優(yōu)點,且傳播時的能量消耗緩慢、有利于實現(xiàn)測距。
本實驗使用HC-SR04超聲波測距模塊,其分為超聲波發(fā)射器、接收器與控制電路,可提供2cm-400cm的非接觸式距離感測,測距精度高達jmm。
用于測距的超聲波頻率應(yīng)取合適值,大約40kHz為益。若所用超聲波頻率過高,則其在空氣中傳播時,會加劇空氣分子的摩擦,導(dǎo)致其有較大的能量損耗,使同功率下測距的最大距離較短;若所用超聲波頻率過低,則其易受使用環(huán)境中噪聲干擾,且受其定向性及波長較長產(chǎn)生的衍射影響,會導(dǎo)致測量精度的下降。
超聲波測距的原理:先向超聲波模塊脈沖觸發(fā)引腳(trig)加高電平,觸發(fā)超聲波發(fā)射器向某一方向定向發(fā)射超聲波,在發(fā)射超聲波的同時開始計時,同時回波檢測引腳(echo)變?yōu)楦唠娖?超聲波經(jīng)空氣傳播,在遇到障礙物時因反射立即返回;利用超聲波接收器接收返回的超聲波,當(dāng)返回的超聲波被模塊接收時,回波檢測引腳(echo)變?yōu)榈碗娖剑|發(fā)計時器立刻停止計時,利用所記錄的時間差和當(dāng)前環(huán)境下的聲速即可計算出超聲波源與障礙物之間的距離,如圖1所示。常溫下超聲波在空氣中的傳播速度為v = 340 m/s,計時器記錄的時間差為At,可計算出發(fā)射點距障礙物的距離S,公式即:
S=v*△t/2
高頻率重復(fù)上述過程,即可實現(xiàn)超聲波的連續(xù)測距。
3.2 共陰數(shù)碼管
基本組成單元是LED。所有LED的陰極共同連接形成公共陰極(COM)。使用時公共極COM接地,當(dāng)某一字段LED的陽極為高電平時點亮;為低電平時熄滅。
使用共陰數(shù)碼管作為倒車雷達的距離顯示裝置,具有成本低廉、功耗較低,體積較小等優(yōu)點,且數(shù)據(jù)直觀易于快速讀取。
3.3 無源蜂鳴器
是內(nèi)部不帶震蕩源的一種蜂鳴器,須用音頻信號驅(qū)動,只通直流電源無法令其嗚叫。
使用無源蜂鳴器作為倒車雷達的距離過近的報警裝置,具有成本低廉、功耗較低,體積較小等優(yōu)點,且將距離數(shù)據(jù)轉(zhuǎn)換成為音頻信號利于司機對危險的快速反應(yīng)。
3.4 硬件接線示意圖
如圖2所示。
4 軟件設(shè)計
4.1 共陰數(shù)碼管顯示距離
顯示數(shù)字時,只要將相應(yīng)筆段點亮即可。將每個數(shù)字需要點亮的筆段寫入程序中,將數(shù)字所需點亮的筆段輸出高電平,其他筆段輸出低電平,即可顯示數(shù)字。根據(jù)超聲波測量距離的大小,對距離保存到分米單位,并將其輸入至共陰數(shù)碼管中,即可顯示距離。
4.2 蜂鳴器報警
對每次測量的距離進行判斷,若小于預(yù)設(shè)距離,則對蜂鳴器加高電平,否則加低電平,即可實現(xiàn)報警功能。
5 測試流程
本系統(tǒng)通電初始化后,超聲波發(fā)射器先發(fā)射超聲波,同時記錄發(fā)射超聲波的時刻;超聲波遇到障礙物后,會因反射立即返回,由超聲波接收器接收返回的超聲波,同時記錄接收到返回波的時刻。將記錄的時刻通過超聲波測距的算法,計算出倒車雷達與障礙物之間的距離,輸入至Arduino開發(fā)板中,并取分米整數(shù)值輸出至共陰數(shù)碼管上進行顯示,同時對所測定的距離大小與所設(shè)置的臨界值進行比較,若小于臨界值,則觸發(fā)蜂鳴器進行報警(圖3)。高頻率重復(fù)上述過程,即可實現(xiàn)即可實現(xiàn)倒車雷達連續(xù)測距、顯示及報警等功能。
6 結(jié)論
所設(shè)計的簡易倒車雷達系統(tǒng)能夠準確計算出車距離障礙物的遠近,為司機倒車提供了很大幫助,超聲波測距設(shè)備可以準確測量距離并且在數(shù)碼管上顯示。當(dāng)車到障礙物的距離小于預(yù)設(shè)距離時,系統(tǒng)的蜂鳴器就會發(fā)出蜂鳴聲報警。本文提出的方案能對希望使用Arduino開發(fā)板實現(xiàn)上述功能的人員提供一定的思路,對Arduino開發(fā)環(huán)境的應(yīng)用有一定的參考價值。
參考文獻
[1]甘本祓,微波傳輸線設(shè)計手冊[M].北京:人民郵電出版社,1981.
[2]甘本祓,吳萬春.現(xiàn)代微波濾波器的結(jié)構(gòu)與設(shè)計[M].北京:科學(xué)出版社,1973.
[3]蔡睿妍.Arduino的原理及應(yīng)用[J],電子設(shè)計工程,2012,20 (16):1.
[4] HC-SR04超聲波測距模塊說明書[K].2017.