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