《基于Arduino編程超聲波實時距離檢測獲獎科研報告》由會員分享,可在線閱讀,更多相關(guān)《基于Arduino編程超聲波實時距離檢測獲獎科研報告(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于Arduino編程超聲波實時距離檢測獲獎科研報告
【摘? 要】目前汽車產(chǎn)量越來越多,普及面也愈發(fā)廣泛,許多新手司機上路時,遇到狹窄路況以及與其他車輛回車時,容易與其發(fā)生剮蹭于是設(shè)計這款超聲波距離檢測儀,用來提醒司機與障礙物所間隔的距離。
通過設(shè)計這個超聲波測距儀,準(zhǔn)確測得自身與障礙物之間的距離,當(dāng)與障礙物距離縮短到一定范圍內(nèi),儀器發(fā)出警報聲并伴隨有紅燈閃爍,隨著距離的縮短,警報聲與紅燈閃爍的頻率加快,當(dāng)與障礙物之間的距離為零時,發(fā)動機反轉(zhuǎn),讓車輛停止。
【關(guān)鍵詞】超聲波測距,車輛距離,警報,超聲波傳感器,Arduino,Arduino Uno
2、第1章? 項目簡介
§1.1 設(shè)計背景
針對新手上路在會車時或通過狹窄路況時無法正確掌握自身車輛兩側(cè)與障礙物水平距離,導(dǎo)致剮蹭現(xiàn)象的產(chǎn)生,于是設(shè)計此超聲波距離檢測系統(tǒng)。
§1.2 設(shè)計目標(biāo)
本產(chǎn)品可以讓車主時刻明白自己再通過狹窄路況時自身車輛側(cè)面與障礙物的準(zhǔn)確距離,當(dāng)遇到回車等狀況時,能夠有效避免兩輛車過近發(fā)生的剮蹭現(xiàn)象,導(dǎo)致?lián)p失。
§1.3 實現(xiàn)功能
在未到警報距離(十厘米)時,只監(jiān)測車身兩側(cè)與障礙物的水平距離,并實時反饋于車輛的儀表盤上。當(dāng)?shù)竭_警報距離時,小于十厘米大于五厘米時,系統(tǒng)閃爍紅燈,蜂鳴器發(fā)出警報聲;當(dāng)車輛側(cè)
3、邊距離小于五厘米大于零厘米時,系統(tǒng)閃爍紅燈頻率加快,蜂鳴器報警加快;當(dāng)自身車輛距離到達零厘米時,系統(tǒng)紅燈常亮,蜂鳴器一直警報,同時舵機會工作,對車輛產(chǎn)生減速效果,使車輛停止。
§1.4 設(shè)計內(nèi)容
硬件部分則為系統(tǒng)的各類傳感器,顯示距離的LCD屏,報警時的LED燈以及蜂鳴器等。軟件部分則是傳感器收集到的數(shù)據(jù)轉(zhuǎn)化為電信號輸入主板,經(jīng)由主板進行處理之后變?yōu)閿?shù)字信號輸出與LCD屏幕,顯示數(shù)字,當(dāng)數(shù)字小于一定值之后,控制LED的引腳由低電平轉(zhuǎn)化為高電平輸出,則紅燈亮,控制蜂鳴器的引腳由高電平轉(zhuǎn)化為低電平,蜂鳴器工作,發(fā)出警報聲。整個系統(tǒng)建立在傳感器的基礎(chǔ)之上,由傳感器錄入信息,再
4、經(jīng)轉(zhuǎn)換,將數(shù)字信號轉(zhuǎn)化為電信號輸入系統(tǒng),再經(jīng)由系統(tǒng)將電信號轉(zhuǎn)換為數(shù)字信號輸出至各個器件上,實現(xiàn)目的。
第2章? 項目總體設(shè)計
§2.1 開發(fā)平臺§2.1.1 Arduino
Arduino是一款便捷靈活、方便上手的開源電子原型平臺。包含硬件(各種型號的Arduino板)和軟件(ArduinoIDE)。它構(gòu)建于開放原始碼simple I/O介面版,并且具有使用類似Java、C語言的Processing/Wiring開發(fā)環(huán)境。主要包含兩個的部分:硬件部分是可以用來做電路連接的Arduino電路板;另外一個則是Arduino IDE,你的計算機中的程序開發(fā)環(huán)境。A
5、rduino能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、馬達和其他的裝置來反饋、影,響環(huán)境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進制文件,燒錄進微控制器。對Arduino的編程是通過 Arduino編程語言(基于 Wiring)和Arduino開發(fā)環(huán)境(基于 Processing)來實現(xiàn)的?;贏rduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟件,他們之間進行通信(比如 Flash,Processing,MaxMSP)來實現(xiàn)?!?.1.2 Arduino的特點
(1)跨平臺。Arduino IDE可
6、以在Windows、Macintosh OS X、Linux三大主流操作系統(tǒng)上運行,而其他的大多數(shù)控制器只能在Windows上開發(fā)。
(2)簡單清晰。Arduino IDE基于processing IDE開發(fā)。對于初學(xué)者來說,極易掌握,同時有著足夠的靈活性。Arduino語言基于wiring語言開發(fā),是對 avr-gcc庫的二次封裝,不需要太多的單片機基礎(chǔ)、編程基礎(chǔ),簡單學(xué)習(xí)后,你也可以快速的進行開發(fā)。
(3)開放性。Arduino的硬件原理圖、電路圖、IDE軟件及核心庫文件都是開源的,在開源協(xié)議范圍內(nèi)里可以任意修改原始設(shè)計及相應(yīng)代碼?!?.1.3 Arduino功能
7、
可以快速使用Arduino與Adobe Flash,Processing,Max/MSP,Pure Data,SuperCollider等軟件結(jié)合,作出互動作品。Arduino可以使用現(xiàn)有的電子元件例如開關(guān)或者傳感器或者其他控制器件、LED、步進馬達或其他輸出裝置。Arduino也可以獨立運行,并與軟件進行交互?!?.1.4 C語言
Arduino語言是建立在C/C++基礎(chǔ)上的,其基礎(chǔ)是C語言,Arduino語言只不過把AVR單片機(微控制器)相關(guān)的一些參數(shù)設(shè)置都函數(shù)化,不用我們?nèi)チ私馑牡讓樱尣涣私釧VR單片機(微控制器)的朋友也能輕松上手。
§2.2 軟件設(shè)計軟件流程圖