一款串列埠超聲波模組使用心得 附帶32程式

2021-09-26 09:10:48 字數 1391 閱讀 6049

前段時間在某寶上看到一款串列埠超聲波模組,感覺很新奇,看看介紹更是激動人心。隨即買了四個。但是商家沒有附帶除錯例程,收貨後便擱置了。

如下便是該模組的渲染圖與實物圖。

嗯…不得不說渲染的挺好的…

下面是模組的一些介紹

工作原理

本超聲波測距模組可提供0mm–2000mm的非接觸式距離感測功能,包括超聲波發射器、接收器與控制電路。其基本工作原理為此超聲波測距模組連線電源後,模組本身每18ms進行一次測距,完成測距後,以串列埠(ttl電平,用usb轉串列埠線可以直接連線本模組到pc,pc上程式讀取串列埠資料就可以了,非常容易)的形式輸出距離值。

資料格式

模組每次輸出4個位元組(有資料才輸出),格式為:0xff+h_data+l_data+sum

0xff: 為一組開始資料,用於判斷。

h_data:距離資料的高8位。

l_data:距離資料的低8位。

sum:   資料和,用於效驗。其0xff+h_data+l_data=sum(僅低8位)
注:h_data與l_data合成16位資料,即以公釐為單位的距離值。

h_data * 256 +l_data

電氣引數:

電氣引數 超聲波模組

工作電壓 dc 3.0-5.5v

工作電流 8ma

工作頻率 40khz

測距範圍 0mm- 2000mm

解析度 1mm

測量角度 與距離相關,下見角度圖

串列埠波特率 9600,8,n,1

響應週期 18ms

規格尺寸 331715mm(超微型)

還有一些看上去超nb的有板有眼的「科學分析」說這個模組怎麼怎麼好這裡就不一一枚舉了下面直接上程式

32的串列埠接收程式:

void usart1_irqhandler(void)

; if(usart_getitstatus(usart1, usart_it_rxne) != reset)//判斷接收標誌 }

}int main(void)

receive_ok=0;

if(distance_data[1]==0xaa && distance_data[2]==0xaa)

else

delay_ms(100);

}

}

超聲波模組的使用

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

超聲波模組驅動

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

超聲波模組應用

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