在本教程中,將對(duì)低成本簡易駐車輔助傳感器的安裝和使用進(jìn)行說明。當(dāng)駕駛員停車入位時(shí),本裝置使用兩只HC-SR04超聲波傳感器和四只壓電蜂鳴器多次提醒駕駛員本車后面及周圍汽車的接近情況,同時(shí)并發(fā)出嗶嗶聲警報(bào)。我們還將解決其他問題,如汽車駕駛室內(nèi)的防水和電線鋪設(shè)等。
硬件
Arduino UNO (1x)
HC-SR04 超聲波傳感器 (2x)
Vcc 線 (長約 2m)
地線 (長約 2m)
觸發(fā)線 (長約 1m)
回聲線 (長約 1m)
壓電式蜂鳴器 (2x)
USB 車載適配器
Aduino 塑膠外殼/外盒
軟件
Arduino IDE
Github
工具
鉗子
第1步:設(shè)置系統(tǒng) 首先請(qǐng)準(zhǔn)備好下文所述電子設(shè)備,以便在車內(nèi)實(shí)際安裝汽車傳感器前能對(duì)系統(tǒng)進(jìn)行測試
圖1:需準(zhǔn)備好的硬件 — Arduino、塑膠外殼、超聲波傳感器、壓電式蜂鳴器、電線和電源適配器 在本項(xiàng)目中,我們僅在車輛后部使用兩只傳感器:一只位于保險(xiǎn)杠的左側(cè),另一只位于保險(xiǎn)杠的右側(cè)。大多數(shù)新車的輔助警報(bào)系統(tǒng)最多可配備六只傳感器,從而可實(shí)現(xiàn)更精確的定位。
HC-SR04 傳感器帶有以下四根引腳:
VCC (電源5V)
觸發(fā)器
信號(hào)回路
接地
上述模塊功能的更詳細(xì)說明,可參見上一教程:帶部件和傳感器的Arduino — 超聲波傳感器的用法
在下圖2中列出了將汽車傳感器和蜂鳴器連接到Arduino的圖表。
圖2:Arduino、超聲波傳感器和壓電蜂鳴器的接線圖第2步:對(duì)Arduino編程
以下為編寫一個(gè)程序的基本指南。一般而言,任何微控制器固件都包括以下四個(gè)基本元素:
整體思路理念和數(shù)據(jù)庫的定義
設(shè)置功能
回路功能
其他功能
與軟件開發(fā)不同,對(duì)微控制器進(jìn)行編程時(shí),通常對(duì)代碼的大小進(jìn)行適當(dāng)限制。My Arduino Uno軟件配有一個(gè)內(nèi)存為32 KB的Atmega328。該配置足以滿足本次應(yīng)用的需要。
通過函數(shù)pinMode()和digitalWrite()可對(duì)微控制器引腳進(jìn)行簡易外圍配置。本次應(yīng)用中使用pinMode()函數(shù)來設(shè)置指定引腳的電流流向??捎米麟娏骰蛐盘?hào)的輸入或輸出。設(shè)置流向后,引腳僅可按該流向工作。可使用digitalWrite()函數(shù)將指定的數(shù)字引腳設(shè)置為HIGH(高)或LOW(低)。本例中將引腳2設(shè)置為另一個(gè)新增接地,用來連接其中一個(gè)器件的GND引腳。
為簡單起見,特定義了一個(gè)函數(shù)為:calculateDistance(信號(hào)回路、觸發(fā)器、蜂鳴器),該函數(shù)在其中一只傳感器中優(yōu)先使用,同時(shí)也可在另一只傳感器中使用。
應(yīng)用時(shí)首先激活一根引腳(觸發(fā)器),經(jīng)過一段時(shí)間后從另一個(gè)引腳(信號(hào)反饋)傳回的反饋信息才能到達(dá)該引腳。針對(duì)這一時(shí)段,可以進(jìn)行一些假設(shè)并計(jì)算信號(hào)反饋回路的相應(yīng)距離(例如聲速為340米/秒或29微秒/厘米)??蓪⒃摼嚯x用作一個(gè)參數(shù),用來確定蜂鳴器所發(fā)出的2000赫茲的嘟嘟聲的頻率(我通過反復(fù)試驗(yàn)才構(gòu)想出這一方法,您可隨意將其改為您喜歡的音調(diào))。
同時(shí)使用了幾個(gè)內(nèi)置函數(shù),如tone (引腳, 頻率, 持續(xù)時(shí)間), digitalWrite (引腳), delayMicroseconds (持續(xù)時(shí)間), 以及pulseIn (引腳, 脈沖峰值).
第3步:制定適當(dāng)?shù)难b配方案
找到汽車后部的防水區(qū)域。將傳感器安裝于該區(qū)域。在試驗(yàn)車?yán)镉袔讉€(gè)可選位置:
尾燈罩
靠近汽車牌照燈
后保險(xiǎn)杠上
若將汽車傳感器放置于尾燈罩或后保險(xiǎn)杠內(nèi),則必須鉆孔以便超聲波發(fā)射和接收。但鉆孔也可能帶來不利影響,如進(jìn)水(淋雨、濺水等),因此鉆孔必須十分考究。由于超聲波無法透過密封劑,因此用密封劑作為防水材料不可取。而且很難根據(jù)傳感器來確定孔的位置,從而難以避免衍射效應(yīng)。
圖3:配置超聲波傳感器時(shí)帶來的衍射問題 /bta304 欲了解衍射波的更多信息,請(qǐng)單擊此處。
基于上述原因,特將汽車傳感器置于車牌附近,該區(qū)域中后備箱門/把手下方的間隙足夠大,從而避免了鉆孔的麻煩。在該位置僅需稍微調(diào)整傳感器的方向,使之對(duì)準(zhǔn)汽車的一角即可。
圖4:找到傳感器的合適位置第4步:在車內(nèi)配置硬件
找到Arduino和Piezo蜂鳴器所在位置。在該步驟中,需拆下車門并找到一個(gè)安全的空位,用來連接電子設(shè)備。
以下步驟十分有趣!通過車內(nèi)面板就能看出您汽車的全新尺寸。車內(nèi)空間很大,還可以加裝很多設(shè)備(也可用于將來裝修?。?。還有許多內(nèi)部電線為車輛安全元件供電。切勿觸摸任何重要的電線。
您必須非常小心車內(nèi)零件。
通過車牌固定孔將汽車外部的超聲波傳感器連接到Arduino上。這些固定孔必須做得夠大,以確保所有八根電線都能順利穿過,并預(yù)留支撐螺釘?shù)目臻g。
Piezo蜂鳴器采用簡單的雙面膠帶固定。
圖5:在牌照右側(cè)裝配HC-SR04
圖6:使用雙面膠帶固定其中一個(gè)Piezo蜂鳴器
圖7:模塊在行李箱門上所在的位置(車內(nèi)視圖)
圖8:模塊的位置(后視圖)
總之,為不阻礙系統(tǒng)順利運(yùn)行,傳感器和蜂鳴器需配備約6米長的電線。對(duì)電線進(jìn)行顏色編碼以防將來混淆,這點(diǎn)很重要。
第5步:在車內(nèi)鋪設(shè)線纜
硬件配置到位后,應(yīng)連接所有電線。傳感器需配備八根電線(兩根信號(hào)回線、兩根觸發(fā)器線,兩根地線和兩根VCC電源線),所有電線都應(yīng)通過牌照后面的孔鋪設(shè)。應(yīng)測試以下連接位置的導(dǎo)通性:
右傳感器觸發(fā)引腳 / Arduino 引腳 13
右傳感器信號(hào)回路引腳 / Arduino 引腳 12
右傳感器 GND / Arduino GND
右傳感器 VCC / Arduino VCC
右蜂鳴器 + / Arduino 引腳 6
左傳感器觸發(fā)引腳 / Arduino 引腳 11
左傳感器回路引腳 / Arduino 引腳 10
左傳感器 GND / Arduino GND
左傳感器 VCC / Arduino Vin
左蜂鳴器 + / Arduino 引腳 7
只要VCC和GND都連接上了,其順序就無關(guān)緊要了。在Arduino Uno上設(shè)置了三個(gè)接地位置,使用Vin引腳作為其中一只傳感器的電源,另一只傳感器則連接到5V引腳。
其他Arduino版本有的直接連接到引腳上而未接地(即Arduino Micro只設(shè)置了兩個(gè)接地位置),因此本研發(fā)項(xiàng)目中將引腳2設(shè)置為LOW(低)來增加額外接地。
圖9:連接超聲波模塊和電源
圖10:連接模塊、電源和蜂鳴器第6步:開啟系統(tǒng)電源
汽車的電源是個(gè)難題。雖然汽車蓄電池輸出12伏直流電壓(若使用12V以上的穩(wěn)壓器則可能導(dǎo)致過熱并損壞Arduino電路板),但也需要連接到交流發(fā)電機(jī)。啟動(dòng)發(fā)動(dòng)機(jī)時(shí),交流發(fā)電機(jī)可以產(chǎn)生極高的峰值電流,并燒毀與其連接的任何電子設(shè)備。該現(xiàn)象稱為負(fù)載突降。點(diǎn)擊這里可瀏覽更多相關(guān)資料。
因此,在Arduino和汽車電源之間建議采用中間級(jí)保護(hù)電路。一種可選做法是自行組裝穩(wěn)壓器,但其設(shè)計(jì)超出了本文討論的范圍,因此本例中選用了舊的手機(jī)適配器。
本例中采用了USB凹孔端轉(zhuǎn)接線。本例中更換了USB適配器的末端,并將其連接到凹孔端適配器。另一個(gè)備選方法是拔掉Arduino的凹孔端針腳并連接所有電線。 但會(huì)導(dǎo)致以下問題:四根導(dǎo)線中每一根的走向如何確定?參見以下圖片。
圖11:B型USB連接:通過USB供電時(shí),僅需兩根電線。
本例Arduino Uno中采用B型USB連接。其他型號(hào)也可采用其他USB連接類型,因此您必須檢查自己的連接方式并根據(jù)您的需要進(jìn)行調(diào)整。
最后,還必須為適配器配置合適的電源。以下幾種方案可供選用:
點(diǎn)煙器插座(位置稍遠(yuǎn))
倒車指示燈(非常方便,但本例中車門操作較復(fù)雜)
后擋風(fēng)玻璃刮水器(不如倒車指示器雅觀,但便于禁用)
最后終于在塑料面板后的所有電線之間找到了一個(gè)連接器。對(duì)電壓進(jìn)行了測量 …… 符合要求!
圖12:測量車內(nèi)各種連接器的功率和極性
在本教程中,我們開發(fā)了一種基于Arduino的相當(dāng)簡單、經(jīng)濟(jì)高效的駐車輔助系統(tǒng),該系統(tǒng)中配有汽車傳感器,當(dāng)本車太靠近后面的車輛(后側(cè))時(shí)會(huì)向駕駛員發(fā)出警報(bào)。通過兩只超聲波接近傳感器和兩只壓電蜂鳴器發(fā)出警報(bào)聲來提醒駕駛員,警報(bào)聲鳴響的頻率表示本車與障礙物之間的距離。
我們使用Arduino創(chuàng)建了一套仿真應(yīng)用程序,并測試了概念驗(yàn)證虛擬樣機(jī)、用戶體驗(yàn)虛擬樣機(jī)和實(shí)用虛擬樣機(jī)之間的臨界差異。在今后的教程中,為在改進(jìn)版的駐車輔助系統(tǒng)中實(shí)現(xiàn)更好的特征和功能,還可以對(duì)目前所討論的概念進(jìn)行擴(kuò)展。您有何見解?
由于篇幅較長,請(qǐng)各位有需要的同學(xué)點(diǎn)擊最下方閱讀原文,到Device Plus查看詳情哦!
Device Plus 文章內(nèi)容及圖片、視頻素材均為原創(chuàng),如有轉(zhuǎn)載請(qǐng)注明出處,謝謝!
Device Plus網(wǎng)站由半導(dǎo)體和電子零件制造商ROHM(羅姆)創(chuàng)建,為喜歡創(chuàng)造事物和有抱負(fù)的工程師們提供有用的信息,旨在讓工程師生涯更有趣。
雖然我們說“好玩”,但不僅僅是娛樂。它可以加深你在某一領(lǐng)域的知識(shí),獲得靈感,繼而用靈感來改變世界。Device Plus文章的主題都與電子套件和工程師生活相關(guān)。我們將討論“技術(shù)”主題下的人、事件、黑客/提示、工具、設(shè)備等。在這里既有知識(shí)加深,又不忘妙趣橫生。我們希望能吸引熱愛電子和機(jī)電一體化的您,并幫助您找到靈感。
-
傳感器
+關(guān)注
關(guān)注
2551文章
51177瀏覽量
754275 -
超聲波
+關(guān)注
關(guān)注
63文章
3021瀏覽量
138443 -
蜂鳴器
+關(guān)注
關(guān)注
12文章
892瀏覽量
45989
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論