目錄
一、實驗?zāi)康?/A>
1熟悉超聲波傳感器基本性能;
2掌握超聲波傳感器測距原理;
3 掌握超聲波測距的編程方法
4 編程實現(xiàn)一個數(shù)顯超聲波測距儀
二、實驗設(shè)備與環(huán)境
Arduino UNO套件、Arduino IDE、計算機、超聲波傳感器、1602 LCD顯示屏等
三、實驗重點
1超聲波測距編程;2 編程實現(xiàn)超聲波測距的LCD數(shù)字顯示
四、實驗難點
1超聲波測距原理代碼
五、實驗內(nèi)容
5.1實驗任務(wù)任務(wù)描述:超聲波傳感器的使用與參數(shù)測定;脈寬測量函數(shù)pulseIn()的使用;編程實現(xiàn)超聲波測距與LCD顯示。
5.2實驗原理1.超聲波傳感器
超聲探頭性能指標(biāo)
探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構(gòu)成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個探頭的性能是不同的,我們使用前必須預(yù)先了解它的性能。超聲波傳感器的主要性能指標(biāo)包括:
(1)工作頻率:工作頻率就是壓電晶片的共振頻率。當(dāng)加到它兩端的交流電壓的頻率和晶片的共振頻率相等時,輸出的能量最大,靈敏度也最高。
(2)工作溫度:由于壓電材料的居里點一般比較高,特別是診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長時間地工作而不失效。醫(yī)療用的超聲探頭的溫度比較高,需要單獨的制冷設(shè)備。
(3)靈敏度:主要取決于制造晶片本身。機電耦合系數(shù)大,靈敏度高;反之,靈敏度低。
(4)指向性:超聲波傳感器探測的范圍。
超聲波具有頻率較高,沿直線傳播、方向性好、繞射小、穿透力強、傳播速度慢(約340m/s,與聲速相同)等特點。
2.超聲波測距原理
由超聲波發(fā)射探頭發(fā)出的超聲波脈沖,經(jīng)媒質(zhì)(空氣)傳到物體表面,反射后通過媒質(zhì)(空氣)傳到接收探頭,測定出超聲脈沖從發(fā)射到接收所需的時間,根據(jù)傳輸媒質(zhì)中的聲速,計算從探頭到物體表面之間的距離。
距離的計算:
設(shè)探頭到物體表面的距離為L,超聲在空氣中的傳播速為v,從發(fā)射到接收所需的傳播時間為t
測定距離:L = v×t/2。測出時間t,求出距離L。
超聲波測距信號電平:
(1)傳感器Trig引腳觸發(fā)信號電平脈沖
// 給TrigPin引腳一個10us的高電平觸發(fā)脈沖
DitigalWrite(TrigPin,LOW);
delayMicroseconds(2);
DitigalWrite(TrigPin,HIGH);
delayMicroseconds(10);
DitigalWrite(TrigPin,LOW);
(2)傳感器被觸發(fā)后,發(fā)射探頭發(fā)出8個40KHz檢測超聲波脈沖,接收探頭自動檢測回波信號
(3)回波信號檢測,Echo引腳輸出超聲波從發(fā)出到返回持續(xù)時間t的高電平信號
pulseIn()函數(shù)檢測電平持續(xù)時間
語法:pusle(EchonPin,HIGH|LOW)
參數(shù)說明:EchonPin,檢測電平引腳;HIGH|LOW,讀取引腳的高電平或低電平脈沖
continueTime = pulseIn(EchoPin,HIGH)//檢測高電平持續(xù)時間(單位us)并賦值給變量
3.1602 LCD顯示屏
顯示屏電路、顯示屏庫函數(shù)(略)
4.arduino超聲波測距電路:
5.3實驗內(nèi)容1.超聲波傳感器參數(shù)測試
步驟1:如圖所示,連接電路
步驟2:編寫超聲波測距、串口顯示程序程序功能:間隔500ms測定一次距離;串口監(jiān)視器以cm為單位實時顯示測定的距離值
步驟3:程序調(diào)試(略)
2.LCD數(shù)字顯示超聲波測距
步驟1:如圖所示,連接電路
步驟2:數(shù)字顯示超聲波測距程序代碼實現(xiàn)功能:超聲波測距;1602 LCD實時顯示測定距離的值
步驟3:程序調(diào)試
源代碼:
#include <LiquidCrystal.h> #define LM35 A0 #define Trig 8 #define Echo 9 float cm; float temp; LiquidCrystal lcd(12,11,5,4,3,2); int val = 0; void setup() { lcd.begin(16,2); lcd.print("Welcome to use!"); delay(1000); lcd.clear(); pinMode(Trig, OUTPUT); pinMode(Echo, INPUT); } void loop() { digitalWrite(Trig, LOW); delayMicroseconds(2); digitalWrite(Trig,HIGH); delayMicroseconds(10); digitalWrite(Trig, LOW); temp = float(pulseIn(Echo, HIGH)); cm = (temp * 17 )/1000; lcd.setCursor(0,0); lcd.print("Now Distance:"); lcd.setCursor(2,1); lcd.print(cm); lcd.print("cm"); delay(1000); }5.4實驗結(jié)果
結(jié)論:通過編程連接電路實現(xiàn)了顯示距離的LCD
反思:通過本次實驗,我熟悉了熟悉超聲波傳感器基本性能;掌握超聲波傳感器測距原理;掌握超聲波測距的編程方法。本次實驗結(jié)果就是通過編程連接電路實現(xiàn)了顯示距離的LCD。最后,在今后的學(xué)習(xí)中,我還需要繼續(xù)努力。
作品:
5.5思考題1.思考超聲波倒車?yán)走_(dá)警報器實現(xiàn)原理,自己可否實現(xiàn)一個簡易的超聲波倒車報警器?