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