1. 程式人生 > 其它 >stm32與HC-SR04超聲波感測器測距

stm32與HC-SR04超聲波感測器測距

1. 超聲波感測器基本引數

  • 使用電壓:DC5V
  • 靜態電流:小於2mA
  • 電平輸出:高5V
  • 電平輸出:底0V
  • 感應角度:不大於15度
  • 探測距離:2cm-450cm

HC-SR04超聲波測距模組可提供2cm-400cm的非接觸式距離感測功能,測距精度可達高到3mm;模組包括超聲波發射器、接收器與控制電路。像智慧小車的測距以及轉向,或是一些專案中,常常會用到。智慧小車測距可以及時發現前方的障礙物,使智慧小車可以及時轉向,避開障礙物。

注意是5v輸入,但是我用stm32 的3.3v輸入也是沒有問題的。

二.工作原理

1.給超聲波模組接入電源和地。
2.給脈衝觸發引腳(trig)輸入一個長為20us的高電平方波

3.輸入方波後,模組會自動發射8個40KHz的聲波,與此同時回波引腳(echo)端的電平會由0變為1;(此時應該啟動定時器計時)
4.當超聲波返回被模組接收到時,回波引腳端的電平會由1變為0;(此時應該停止定時器計數),定時器記下的這個時間即為超聲波由發射到返回的總時長。
5.根據聲音在空氣中的速度為344米/秒,即可計算出所測的距離。

要學習和應用感測器,學會看懂感測器的時序圖是很關鍵的,所以我們來看一下HC-SR04的時序觸發圖。

我們來分析一下這個時序圖,先由觸發訊號啟動HC-RS04測距模組,也就是說,主機要先發送至少10us的高電平,觸發HC-RS04,模組內部發出訊號是感測器自動迴應的,我們不用去管它。輸出迴響訊號是我們需要關注的。訊號輸出的高電平就是超聲波發出到重新返回接收所用的時間。用定時器,可以把這段時間記錄下來,算出距離,別忘了結果要除於2,因為總時間是傳送和接收的時間總和。