詳解超聲波測距模塊HC-SR04的使用

1.模塊簡介

HC-SR04超聲波模塊常用於機器人避障、物體測距、液位檢測、公共安防、停車場檢測等場所。HC-SR04超聲波模塊主要是由兩個通用的壓電陶瓷超聲傳感器,並加外圍信號處理電路構成的。如圖:
在這裏插入圖片描述
兩個壓電陶瓷超聲傳感器,一個用於發出超聲波信號,一個用於接收反射回來的超聲波信號。由於發出信號和接收信號都比較微弱,所以需要通過外圍信號放大器提高發出信號的功率,和將反射回來信號進行放大,以能更穩定地將信號傳輸給單片機。模塊整體電路如圖:
在這裏插入圖片描述

2.模塊參數

(1)模塊主要電氣參數

  1. 使用電壓:DC—5V
  2. 靜態電流:小於2mA
  3. 電平輸出:高5V
  4. 電平輸出:底0V
  5. 感應角度:不大於15度
  6. 探測距離:2cm-450cm
  7. 高精度 可達0.2cm

(2)模塊引腳
超聲波模塊有4個引腳,分別爲Vcc、 Trig(控制端)、 Echo(接收端)、 GND;其中VCC、GND接上5V電源, Trig(控制端)控制發出的超聲波信號,Echo(接收端)接收反射回來的超聲波信號。模塊如圖:
在這裏插入圖片描述
與單片機的連接如圖:在這裏插入圖片描述
控制原理:通過Trig引腳發一個 10US 以上的高電平,就可以在Echo接收口等待高電平輸出;一有輸出就可以開定時器計時,當此口變爲低電平時就可以讀定時器的值,此時就爲此次測距的時間,方可算出距離.如此不斷的週期測,就可以達到你移動測量的值了。

3.控制程序

(1)工作流程
a.單片機引腳觸發Trig測距,給至少 10us 的高電平信號;
b.模塊自動發送 8 個 40khz 的方波,自動檢測是否有信號返回;
c.有信號返回,通過 IO 輸出一高電平,並單片機定時器計算高電平持續的時間;
d.超聲波從發射到返回的時間.
計算公式:測試距離=(高電平時間*聲速(340M/S))/2;

整個控制時序如圖:
在這裏插入圖片描述
(2)驅動程序
1.單片機引腳觸發Trig測距,給至少 10us 的高電平信號;

void  StartModule() 		         //啓動模塊
{
	  TX=1;			                     //啓動一次模塊
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_();
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_();
	  TX=0;
}

2.自動檢測是否有信號返回,如果有,啓動定時器;

while(!RX);		//當RX爲零時等待
TR0=1;			    //開啓計數
while(RX);			//當RX爲1計數並等待
TR0=0;				//關閉計數
Conut();			//計算

3.定時器計算高電平持續的時間,並計算出距離;

 void Conut(void)
{
	 time=TH0*256+TL0;
	 TH0=0;
	 TL0=0;	
	 S=(time*1.7)/100;     //算出來是CM
}

更多超聲波測距模塊HC-SR04設計資料及例程 請關注公衆號,首頁回覆“超聲波”獲取資料
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章