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

2021-09-29 02:08:29 字數 1695 閱讀 9634

1.模組簡介

hc-sr04超聲波模組常用於機械人避障、物體測距、液位檢測、公共安防、停車場檢測等場所。hc-sr04超聲波模組主要是由兩個通用的壓電陶瓷超聲感測器,並加外圍訊號處理電路構成的。如圖:

兩個壓電陶瓷超聲感測器,乙個用於發出超聲波訊號,乙個用於接收反射回來的超聲波訊號。由於發出訊號和接收訊號都比較微弱,所以需要通過外圍訊號放大器提高發出訊號的功率,和將反射回來訊號進行放大,以能更穩定地將訊號傳輸給微控制器。模組整體電路如圖:

2.模組引數

(1)模組主要電氣引數

使用電壓:dc—5v

靜態電流:小於2ma

電平輸出:高5v

電平輸出:底0v

感應角度:不大於15度

探測距離:2cm-450cm

高精度 可達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() 		         //啟動模組

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

while(!rx);		//當rx為零時等待

tr0=1; //開啟計數

while(rx); //當rx為1計數並等待

tr0=0; //關閉計數

conut(); //計算

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

void conut(void)

樹莓派上使用HC SR04超聲波測距模組

hc sr04 模組可以測量 3cm 4m 的距離,精確度可以達到 3mm。這個模組包括 超聲波發射器 超聲波接收器和控制電路三部分。有 4 個引腳。4 個引腳由 2 個電源引腳 vcc gnd 和 2 個控制引腳 trig echo 組成。vcc 和 gnd 接 5v dc 電源,使用樹莓派或微控...

樹莓派使用HC SR04超聲波測距模組

hc sr04 模組可以測量 3cm 4m 的距離,測量角度為15度,精確度可以達到 3mm。這個模組包括超聲波發射器 超聲波接收器和控制電路三部分。有如下 4 個引腳 注意 echo 返回的是 5v訊號,而樹莓派的 gpio 接收超過 3.3v 的訊號可能會被燒毀,因此需要加乙個分壓電路 樹莓派向...

HC SR04超聲波測距模組的正確理解

今天,在閱讀關於hc sr04超聲波測距模組的51微控制器程式時,比對相應參考資料,發現乙個矛盾的地方,一時間想了好久,才有了一點眉目,特此記錄。主函式部分 如下 while 1 而使用者手冊上說 即有訊號返回才輸出高電平訊號。這句話的意思很顯然表示,如果沒有訊號返回,就不輸出高電平。那麼程式中 w...