日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 基礎入門 >> Arduino開發學習 >> 正文

【Arduino實驗13 超聲波測距】_arduino超聲波測距程序

作者:佚名    文章來源:網絡整理    點擊數:    更新時間:2024/11/2

目錄

一、實驗目的

二、實驗設備與環境

三、實驗重點

四、實驗難點

五、實驗內容

5.1實驗任務

5.2實驗原理

5.3實驗內容

5.4實驗結果

5.5思考題


一、實驗目的

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引腳觸發信號電平脈沖

傳感器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超聲波測距電路:

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。最后,在今后的學習中,我還需要繼續努力。

作品:

Arduino實驗13 超聲波測距 

5.5思考題

1.思考超聲波倒車雷達警報器實現原理,自己可否實現一個簡易的超聲波倒車報警器?

Tags:超聲波測距,Arduino,超聲波  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 哈巴河县| 海淀区| 绥棱县| 杂多县| 云霄县| 安泽县| 新乐市| 开阳县| 芦溪县| 牙克石市| 博白县| 淳安县| 宜川县| 嘉荫县| 习水县| 鄂温| 安吉县| 蒙山县| 沾益县| 乌审旗| 吴江市| 漯河市| 邹城市| 从江县| 吉木乃县| 西和县| 巴马| 汉源县| 阳东县| 兖州市| 枝江市| 浦东新区| 高雄市| 梓潼县| 梅河口市| 呼玛县| 丹巴县| 乾安县| 什邡市| 乌什县| 德兴市|