色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

超聲波模塊測距的使用方法

CW32生態社區 ? 來源:CW32生態社區 ? 2023-08-28 14:14 ? 次閱讀

一、簡介

1.C-SR04超聲波模塊是一種常用的測距模塊,其通過發射超聲波并接收其反射信號來實現測距功能。因其成本低、精度高、使用簡便等特點,被廣泛應用于以下場景:

(1)避障機器人:HC-SR04超聲波模塊可以用于避障機器人的距離測量,通過檢測障礙物與機器人的距離,實現避障控制。

(2)智能家居:HC-SR04超聲波模塊可用于智能家居中的人體檢測和距離測量。例如,在門口安裝超聲波模塊,可以檢測人的接近并觸發開門動作,或者用于室內的距離測量和觸發自動照明等。

2.本實驗用到了CW32F030C8T6小藍板、0.96寸OLED顯示屏、HC-SR04超聲波模塊及Keil5開發環境。

二、超聲波模塊測距的使用方法

使用流程 連接電源 將VCC引腳連接到+5V,GND引腳連接到GND。

連接觸發引腳

將Trig引腳連接到單片機的數字輸出引腳。

連接回波引腳

將Echo引腳連接到單片機的數字輸入引腳。

發送信號

通過向Trig引腳發送一個至少10微秒的高電平觸發信號來啟動測距過程

接收信號

模塊發送觸發信號后,自動發射超聲波,并等待接收反射信號。當接收到反射信號時,Echo引腳會輸出一個高電平信號,持續時間與超聲波的往返時間成正比。

計算距離

通過測量Echo引腳輸出高電平信號的持續時間,可以計算得到距離,一般使用以下公式計算:

距離= 高電平持續時間 × 聲波在空氣中傳播的速度 / 2。

重復測量

根據需要可定時測量距離,以實現連續的距離監測。

需要注意的是,HC-SR04超聲波模塊的測距精度受到多種因素的影響,如溫度、超聲波傳播介質等。在使用過程中,需要結合具體的應用場景和需求進行參數調整和校準,以獲得準確的距離測量結果。

三、核心代碼

HC_SR04.c:
#include "HC_SR04.h"


extern unsigned int time;


void HC_GPIO_Init(void)  
{
  __RCC_GPIOB_CLK_ENABLE();
  
  GPIO_InitTypeDef GPIO_InitStruct; 
  GPIO_InitStruct.IT=GPIO_IT_NONE;
  GPIO_InitStruct.Mode=GPIO_MODE_INPUT_PULLDOWN;//下拉輸入
  GPIO_InitStruct.Pins=GPIO_PIN_8;               //Echo
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;     //推挽輸出
  GPIO_InitStruct.Pins=GPIO_PIN_9;               //Trig 
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  PB09_SETLOW();   //Trig拉低,為輸出脈沖觸發信號做準備
}


unsigned int Measure_Distance(void) //測距
{
  unsigned int distance=0;
  
  SetTrig();     //10us的脈沖觸發信號
  Delay_us(10);
  ResetTrig();
  while(ReadEcho()==0); //等待Echo輸出高電平
  time=0;               //開始記錄回波信號脈寬
  while(ReadEcho()==1); //等待Echo輸出低電平     
  distance=time*1.7;//根據聲速和時間計算距離,即distance=time*340/2/100
  /*
      關于分辨力(mm):
          定時器每次對time加1是10us,10us=0.01ms,340m/s=340mm/ms
          計算距離時,最小分辨力為:0.01(ms) * 340(mm/ms) / 2 = 1.7(mm)
          小于模塊標準精度3mm,故測距結果十分精準
  */
  return distance; //返回距離,單位mm
}
main.c:
#include "HC_SR04.h"


extern unsigned int time;


void HC_GPIO_Init(void)  
{
  __RCC_GPIOB_CLK_ENABLE();
  
  GPIO_InitTypeDef GPIO_InitStruct; 
  GPIO_InitStruct.IT=GPIO_IT_NONE;
  GPIO_InitStruct.Mode=GPIO_MODE_INPUT_PULLDOWN;//下拉輸入
  GPIO_InitStruct.Pins=GPIO_PIN_8;               //Echo
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;     //推挽輸出
  GPIO_InitStruct.Pins=GPIO_PIN_9;               //Trig 
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  PB09_SETLOW();   //Trig拉低,為輸出脈沖觸發信號做準備
}


unsigned int Measure_Distance(void) //測距
{
  unsigned int distance=0;
  
  SetTrig();     //10us的脈沖觸發信號
  Delay_us(10);
  ResetTrig();
  while(ReadEcho()==0); //等待Echo輸出高電平
  time=0;               //開始記錄回波信號脈寬
  while(ReadEcho()==1); //等待Echo輸出低電平     
  distance=time*1.7;//根據聲速和時間計算距離,即distance=time*340/2/100
  /*
      關于分辨力(mm):
          定時器每次對time加1是10us,10us=0.01ms,340m/s=340mm/ms
          計算距離時,最小分辨力為:0.01(ms) * 340(mm/ms) / 2 = 1.7(mm)
          小于模塊標準精度3mm,故測距結果十分精準
  */
  return distance; //返回距離,單位mm
}

四、實驗最終現象

fd3123fa-4555-11ee-a2ef-92fbcf53809c.png fd8321aa-4555-11ee-a2ef-92fbcf53809c.png

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634634
  • 模塊
    +關注

    關注

    7

    文章

    2695

    瀏覽量

    47431
  • 超聲波
    +關注

    關注

    63

    文章

    3014

    瀏覽量

    138348
  • CW32
    +關注

    關注

    1

    文章

    203

    瀏覽量

    626

原文標題:【CW32】基于CW32的超聲波模塊的應用

文章出處:【微信號:CW32生態社區,微信公眾號:CW32生態社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    msp430f149控制超聲波測距模塊超聲波模塊似乎沒有反應 ?

    哥哥們 小弟在用msp430f149控制超聲波測距模塊超聲波模塊似乎沒有反應求指教
    發表于 05-26 20:24

    超聲波模塊測距問題

    ·新上手一塊HC-SR04超聲波模塊寫了一個數碼管測距顯示,問題來了緩慢移動模塊可以近距離測試顯示,可是超過一米時,時靈時不靈,顯示亂碼,為嘛呢??,求解
    發表于 03-15 11:41

    【NanoPi M2試用體驗】安裝超聲波模塊測距

    本帖最后由 可樂丸子 于 2016-6-9 13:45 編輯 下面介紹在友善NanoPi M2上連接超聲波模塊HY-SRF05測距方法首先需要連接NanoPi M2開發板和超聲波模塊
    發表于 06-09 13:42

    超聲波模塊測距不算精準

    哪位用過超聲波模塊的?淘寶上買回來,調試,發現測距不算精準,只有對著平面還好,對著人的話,數據不穩定,有解決方法嗎?還是制作工藝已經決定了?
    發表于 04-10 20:54

    超聲波測距原理

    到達障礙物后被反射回來,傳感器接收到反射脈沖后立即停止計時,然后根據超聲波的傳播速度和計時時間就能計算出兩端的距離。2.超聲波模塊此次采用的是市面上常用的超聲波模塊HC-SR04;HC-SR04參數...
    發表于 07-21 07:01

    基于STM32的超聲波測距設計

    基于STM32F103的超聲波測距(定時器)使用的硬件設備:stm32f103c8t6,0.96寸OLED,超聲波模塊HC-SR04廢話不多說,上程序就對了(親測有效)超聲波模塊
    發表于 07-22 08:53

    如何使用超聲波模塊實現測距功能?

    超聲波測距原理是什么?如何使用超聲波模塊實現測距功能?
    發表于 10-27 06:35

    超聲波測距的相關資料分享

    超聲波測距超聲波測距原理超聲波模塊說明書代碼解析超聲波測距
    發表于 12-08 08:06

    如何通過HC-SR04超聲波模塊去實現測距功能呢

    HC-SR04超聲波模塊是什么?如何通過HC-SR04超聲波模塊去實現測距功能呢?
    發表于 12-13 06:00

    超聲波模塊測量距離防碰撞分析

    超聲波模塊測量距離防碰撞1.超聲波測距:原理:超聲測距其實就是通過單片機控制超聲波模塊發出一系列
    發表于 01-05 06:02

    超聲波模塊為什么測距不準?

    超聲波模塊為什么測距不準,只有在拿一本書靠近模塊時,測得比較準,但是測到人的距離就不怎么準
    發表于 10-31 07:23

    基于51單片機的超聲波測距模塊設計

    超聲波測距模塊,51單片機接上12864液晶,HC-SR04超聲波模塊,就可以了,具體程序沒怎么看,超聲波模塊的硬件也不曉得。
    發表于 12-10 16:33 ?6968次閱讀

    STM32_超聲波測距

    超聲波測距超聲波測距原理超聲波模塊說明書代碼解析超聲波測距
    發表于 11-25 10:51 ?165次下載
    STM32_<b class='flag-5'>超聲波</b><b class='flag-5'>測距</b>

    超聲波測距資料(HC-SR04)_TB

    TCT40-16T.R1規格書.pdf 超聲波測距模塊_HC-SRO4_用戶手冊-V2.pdf超聲波模塊參考.pdf 超聲波模塊說明圖.
    發表于 03-14 15:13 ?195次下載

    基于CW32的超聲波模塊的應用

    C-SR04超聲波模塊是一種常用的測距模塊,其通過發射超聲波并接收其反射信號來實現測距功能。
    的頭像 發表于 09-06 09:13 ?980次閱讀
    主站蜘蛛池模板: 国产永久免费高清在线观看| 精品国产美女AV久久久久| 交换娇妻呻吟声不停中文字幕 | 国产午夜亚洲精品一区| 久久精品亚洲| 轻轻挺进女教师的身体| 亚洲裸舞 hd| vivoe另类| 精子射到丝袜上图| 日韩 亚洲 欧美 中文 高清| 亚洲中文字幕日产乱码2020| www.欧美与曽交性video| 韩国精品韩国专区久久| 琪琪色原网20岁以下热热色原网站 | 女生下面免费看| 亚洲精品www久久久久久| 99视频免视看| 久久99精品久久久久久园产越南| 品色堂主页| 永久午夜福利视频一区在线观看| 公和我做好爽添厨房中文字幕| 久久这里只有精品无码3D| 天天操天天干天天爽| 91久久精品国产亚洲| 黄色小说男男| 特污兔午夜影视院| BL低喘贯穿顶弄老师H| 精品久久久久中文字幕| 日欧一片内射VA在线影院| 洲精品无码高潮喷水A片| 国产视频这里只有精品| 秋霞电影网视频一区二区三区| 永久免费毛片| 黑人寄宿羽月希产后奶水| 色欲AV精品人妻一二三区| 98国产精品人妻无码免费| 娇小XXXXX第一次出血| 我半夜摸妺妺的奶C了她软件| 99综合之综合久久伊人| 久久夜色撩人精品国产| 亚洲高清在线mv|