目錄
一、前言
二、超聲波模塊介紹
1、超聲波模塊
2、HC-SR04模塊
三、硬件連接
四、軟件代碼
五、效果展示
六、代碼鏈接
一、前言
超聲波模塊是通過聲音的傳播進(jìn)行測距,聲音傳播的速度與所用時(shí)間通過運(yùn)算得出距離,精度相對(duì)較高,可用于近距離的測量與感應(yīng)。
二、超聲波模塊介紹
1、超聲波模塊
超聲波測距模塊是用來測量距離的一種產(chǎn)品,通過發(fā)送和收超聲波,利用時(shí)間差和聲音傳播速度,計(jì)算出模塊到前方障礙物的距離。 超聲波測距模塊有好多種類型,比較常用的有URM37超聲波傳感器默認(rèn)是232接口,可以調(diào)為TTL接口,URM05大功率超聲波傳感器測試距離能到10米,算是測試距離比較遠(yuǎn)的一款了,另外還有比較常用的國外的幾款SRF系列的超聲波模塊,超聲波模塊精度能到1cm 。
2、HC-SR04模塊
本模塊性能穩(wěn)定,測度距離精確,模塊高精度,盲區(qū)小。 產(chǎn)品應(yīng)用領(lǐng)域: 機(jī)器人避障 物體測距 液位檢測 公共安防 停車場檢測 。 測試距離大概在5M。
基本工作原理:
(1)采用IO口TRIG觸發(fā)測距,給至少10us的高電平信號(hào);
(2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測是否有信號(hào)返回;
(3)有信號(hào)返回,通過IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測試距離=(高電平時(shí)間*聲速(340M/S))/2;
三、硬件連接
超聲波硬件連接
VCC:接5V
GND:接地
Trig:控制端(我接的P1^0)
Echo:接收端(我接的p1^1)
OLED連接方式與上一節(jié)相同。
四、軟件代碼
main主函數(shù)
void main()
{
float S; //距離變量
TIM0init(); //初始化定時(shí)器0
OLED_Init(); //初始化
OLED_ColorTurn(0); //0正常顯示,1反色顯示
OLED_DisplayTurn(0);//0正常顯示,1屏幕反轉(zhuǎn)顯示
while(1)
{
TRIG=1; //觸發(fā)信號(hào)是高電平脈沖,寬度大于10us
DelayUs2x(10);
TRIG=0;
while(!ECHO); //等待高電平
TR0=1;
while(ECHO); //等待低電平
TR0=0;
S=TH0*256+TL0;//取出定時(shí)器值高8位和低8位合并
S=S/58; //為什么除以58等于厘米, Y米=(X秒*344)/2
// X秒=( 2*Y米)/344 -> X秒=0.0058*Y米 -> 厘米=微秒/58
TH0=0;
TL0=0; //清除定時(shí)器0寄存器中的值
//delay_ms(50);
S=S*10;
OLED_DrawBMP(0,1,48,48,BMP1); //生成圖像
OLED_ShowChinese(48,0,0,16); //文字 距離
OLED_ShowChinese(64,0,1,16);
OLED_ShowString(80,0,":",16); //顯示字符串
OLED_ShowString(110,2,"mm",16);
OLED_ShowNum(80,2,S,3,16); //顯示數(shù)字
DelayMs(250);
}
}
OLED控制函數(shù)可以觀看上一節(jié)內(nèi)容。
五、效果展示
實(shí)物演示 https://live.csdn.net/v/211270
六、代碼鏈接
關(guān)注公眾號(hào)“小小創(chuàng)客者”回復(fù)“超聲波測距OLED顯示”獲得代碼。若有錯(cuò)誤歡迎指正。
審核編輯:湯梓紅
-
OLED
+關(guān)注
關(guān)注
121文章
6313瀏覽量
231827 -
超聲波
+關(guān)注
關(guān)注
63文章
3194瀏覽量
143511
發(fā)布評(píng)論請(qǐng)先 登錄
HC-SR04超聲波測距模塊的相關(guān)資料分享
HC-SR04超聲波測距模塊相關(guān)資料下載
如何通過HC-SR04超聲波模塊去實(shí)現(xiàn)測距功能呢
HC-SR04超聲波測距模塊簡介
簡單的超聲波測距模塊制作_HC-SR04超聲波測距模塊及制作圖詳解
HC-SR04超聲波測距模塊的原理介紹與代碼實(shí)現(xiàn)

使用超聲波模塊+HC-SR04模塊的超聲波測距
評(píng)論