導航:首頁 > 製冷設備 > 超聲波測距模塊怎麼用來測距

超聲波測距模塊怎麼用來測距

發布時間:2022-02-15 12:15:13

① 求教,stm32怎麼用超聲波模塊測距,用的是HC-SR04

設置gpio口,還需使用定時器,根據超聲波測距模塊的使用說明進行開發,一般是操作一個觸發引腳,一個返回方波信號的引腳。承接單片機項目開發。

② 求助: 有哪位大俠知道使用超聲波測距模塊

#include"sst89e516.h"
#include"SMC162.H"
#include <stdio.h>
#include "math.h"

#include "binary.h"
#include "intrins.h"
#define trig P1_0 //脈沖產生埠

/******************系統全局變數***************/
typedef unsigned char uchar;
typedef unsigned int uint;
bit Success; //測量成功標志位
bit Done; //測量完成標志位
bit Mode; //測量模式:0--近距離,1---遠距離
uint nCount;
float nResult;

/***********超聲波測量相關函數定義***************/
void StartInit();
void Delay_us(uint i); //微秒級延時:T=7+2*(X-1) us
void StartMeasure();
void DisplayResult();
void ConvertCount();
void Delay_ms(uint x);

////////////////////////主函數////////////////////////////////
void main()
{
unsigned long Sum;
uchar i;
uchar num;
bit bOK;

TCON=0x05; //INT0 INT1下降沿觸發
TMOD=0X01; //T0作為計數輸入
IP=0x00; //置INT1優先順序最高

LcdInit();

while(1) //測量系統主循環
{
bOK=0;
num=0;
Sum=0;

for(i=1; i<=3; ++i) //循環測量,求平均值
{
StartInit(); //測量初始化
StartMeasure(); //開始測量第1次,確定大概范圍
if(Success==1)
{
bOK=1; //有1次成功,則測距成功
Sum=(nCount>Sum)?nCount:Sum; //取測量最大值
}
Delay_ms(80); //延時10ms後繼續測量
}

nCount=Sum;
Success=bOK;
DisplayResult();
}

}

/***************所用到的相關函數功能實現*****************/
void INT_0() interrupt 0 //運行到此處說明echo產生回波
{
TR0=1; //關計數
ET0=1; //關定時器中斷
EX0=0; //關INT0中斷

Done=1;

}

void INT_T0() interrupt 1
{
//運行到此處說明測距失敗
TR0=0;
EX0=0;
EX1=0;
Success=0;
Done=1;

}

void INT_1() interrupt 2
{
TR0=0;
ET0=0;
EX1=0;
nCount=TH0;
nCount=nCount<<8;
nCount=nCount|TL0;
Success=1;
Done=1;

}

void StartInit()
{
TH0=0;
TL0=0; //計數器置0
trig=0;
EA=0; //開總中斷
ET0=0; //關T0中斷
EX0=0; //關INT0中斷
EX1=0;
Success=0; //測量成功標志位
Done=0; //測量一次標志位
}

void StartMeasure()
{
trig=0;
trig=1;
Delay_us(5);
trig=0;
EX0=1;
EX1=1;
while(Done==0);

}

void DisplayResult()
{
float temp=0;
char String[10];

if(Success==1) //測距成功,顯示「成功」,並顯示距離
{
temp=nCount*184e-3; // 算出距離

sprintf(String," d= %6.2f mm",temp); //將整數轉換為字元串

PutStr(0,0,String);
Delay_ms(50);

}
else //測距失敗,顯示「失敗」提示
{
PutStr(0,4," --Fail-- ");
}

}

void Delay_ms(uint x) //12M環境下延時1ms
{
uchar j;
while(x--)
{
for(j=0;j<125;j++);
}
}

void Delay_us(uint i) //微秒級延時:T=7+2*(X-1) us
{
while(--i);
}
程序如下:(顯示函數沒有問題)

③ 超聲波測距模塊、紅外線測距模塊,

首先要看功能,比如測距的距離,輸出信號。安裝方式,使用環境,然後才是設計體積。
測距紅外和超聲波對人體都沒有傷害。但是激光對眼睛有傷害。

④ STM32如何使用超聲波模塊進行測距

這種東西又不是很難,最好還是自己做。每個人思路不一樣。自己做的收獲比較大。

⑤ 多個超聲波模塊同時測距怎麼實現

一般來說是分時工作就夠了,同時工作,那要考慮互相干擾的問題。所以有點困難的。

⑥ 超聲波測距模塊使用問題

這種類型的探頭,發射是圓錐形的,角度應該在50°左右。但是要測電線的反射,估計很困難。因為電線的反射信號很弱。被測的障礙物的形狀也很關鍵,不同的障礙物,反射系數不一樣的。

⑦ hc-sr04超聲波測距模塊怎麼做

//(1)採用 IO 觸發測距,給至少10us 的高電平信號;
//(2)模塊自動發送8 個40khz 的方波,自動檢測是否有信號返回;
//(3)有信號返回,通過IO 輸出一高電平,高電平持續的時間就是
//(4)超聲波從發射到返回的時間.測試距離=(高電平時間*聲速(340M/S))/2

⑧ 超聲波測距模塊是什麼哪裡有具體點的,謝謝

超聲波測距模塊就是 處理器給超聲波一定頻率,然後模塊就發出人聽不到的聲音,但是存在,當碰到物體後就返回,這個時候模塊收到這信號給處理器, , 你可以在淘寶搜索就有了

⑨ 超聲波感測器如何測距

超聲波感測器測距工作原理:超聲波感測器是將超聲波信號轉換成其他能量信號(通常是電信號)的感測器。超聲波是指頻率大於20 kHz的在彈性介質中產生的機械震盪波,其具有指向性強、能量消耗緩慢、傳播距離相對較遠等特點,因此常被用於非接觸測距。由於超聲波對液體、固體的穿透本領很大,尤其是在陽光不透明的固體中。超聲波碰到雜質或分界面會產生顯著反射形成反射成回波,碰到活動物體能產生多普勒效應。,因此超聲波測距對環境有較好的適應能力,此外超聲波測量在實時、精度、價格也能得到很好的折中。
目前超聲波測距的方法有多種:如往返時間檢測法、相位檢測法、聲波幅值檢測法。其原理是超聲波感測器發射一定頻率的超聲波,藉助空氣媒質傳播,到達測量目標或障礙物後反射回來,經反射後由超聲波接收器接收脈沖,其所經歷的時間即往返時間,往返時間與超聲波傳播的路程的遠近有關。

閱讀全文

與超聲波測距模塊怎麼用來測距相關的資料

熱點內容
超聲波探傷有什麼作用 瀏覽:517
個人租賃機械稅率是多少 瀏覽:84
電動車轉向軸承型號怎麼看 瀏覽:929
設備昵稱是什麼意思 瀏覽:901
什麼游戲裝機械硬碟好 瀏覽:946
二氯甲烷用什麼閥門好 瀏覽:628
貨車自動車鉤裝置 瀏覽:894
北海有電動工具出租嗎 瀏覽:556
設備安裝軟體哪個最靠譜 瀏覽:561
氣閥門掰手 瀏覽:491
前輪軸承座壞了會怎麼樣 瀏覽:621
ct5儀表菜單怎麼打開 瀏覽:906
大學萃取實驗裝置圖 瀏覽:546
戴真皮機械表注意什麼意思 瀏覽:839
如何采購設備 瀏覽:193
山東泰安市釀酒設備總廠怎麼樣 瀏覽:926
ipad設備信息都有什麼 瀏覽:610
直播音卡設備如何操作 瀏覽:468
儀表盤上面平均油耗怎麼算了 瀏覽:382
洛陽軸承6308怎麼樣 瀏覽:702