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