超聲波模組的使用

2021-09-25 15:54:33 字數 1238 閱讀 5333

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

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

1.給超聲波模組接入電源和地

。2.給脈衝觸發引腳(trig)輸入乙個長為20us的高電平方波

3.輸入方波後,模組會自動發射8個40khz的聲波,與此同時回波引腳(echo)端的電平會由0變為1;(

當此時應該啟動定時器計時)4.當超聲波返回被模組接收到時,回波引腳端的電平會由1變為0;(此時應該停止定時器計數),定時器記下的這個時間即為超聲波由發射到返回的總時長

5 。根據聲音在空氣中的速度為344公尺/秒,即可計算出所測的距離。

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

超聲波的初始化

void initcsb()

定時器開啟

void starttime()

開啟完後我們需要關閉定時器來計算傳送超聲波和接收的時間

計算時間

unsigned int gettime()

main函式執行功能

while(!echo);

starttime();

while(echo);

endtime();

time =gettime();

dis=getdis(time);

在一些初始化函式呼叫後,對echo的引腳進行測量。倘若改引腳變為高,則是開始推測。當它變成0的時候,則是探測結束。之後對於時間進行計算便可以得到距離。

超聲波模組驅動

思路哈 我打算程式執行一次傳送一次觸發訊號,在程式開頭,就不精確延時幾個指令週期,然後用外部中斷 來個中斷圖 使用中斷0吧 再看看定時器,打算用定時器4 stc創新的,嘿嘿看看靠不靠譜 我說呢,stc15w4k32s4不是單時鐘週期嗎,定時11.0592m晶振怎麼弄,原來這裡可以控制系統時鐘分頻。最...

超聲波模組應用

超聲波原理 超聲波是利用反射的原理測量距離的,被測距離一端為超聲波感測器,另一端必須有能反射超聲波的物體。測量距離時,將超聲波感測器對準反射物發射超聲波,並開始計時,超聲波在空氣中傳播到達障礙物後被反射回來,感測器接收到反射脈衝後立即停止計時,然後根據超聲波的傳播速度和計時時間就能計算出兩端的距離。...

Arduino 超聲波模組

一共有四個腳,分別為vc,trig,echo,gnd,兩邊的兩個為接電源的正負極,中間的兩個乙個傳送乙個接收,可以連線在任意訊號埠是包括1到13口及a0 a5 trig引腳連線a0,echo連線a1 單位 厘公尺 float checkdistance 定義函式 獲得距離 digitalwrite ...