chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 2023-08-28 14:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、簡介

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

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

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

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

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

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

連接觸發(fā)引腳

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

連接回波引腳

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

發(fā)送信號

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

接收信號

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

計算距離

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

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

重復測量

根據(jù)需要可定時測量距離,以實現(xiàn)連續(xù)的距離監(jiān)測。

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

三、核心代碼

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拉低,為輸出脈沖觸發(fā)信號做準備
}


unsigned int Measure_Distance(void) //測距
{
  unsigned int distance=0;
  
  SetTrig();     //10us的脈沖觸發(fā)信號
  Delay_us(10);
  ResetTrig();
  while(ReadEcho()==0); //等待Echo輸出高電平
  time=0;               //開始記錄回波信號脈寬
  while(ReadEcho()==1); //等待Echo輸出低電平     
  distance=time*1.7;//根據(jù)聲速和時間計算距離,即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拉低,為輸出脈沖觸發(fā)信號做準備
}


unsigned int Measure_Distance(void) //測距
{
  unsigned int distance=0;
  
  SetTrig();     //10us的脈沖觸發(fā)信號
  Delay_us(10);
  ResetTrig();
  while(ReadEcho()==0); //等待Echo輸出高電平
  time=0;               //開始記錄回波信號脈寬
  while(ReadEcho()==1); //等待Echo輸出低電平     
  distance=time*1.7;//根據(jù)聲速和時間計算距離,即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
}

四、實驗最終現(xiàn)象

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

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

    關注

    6074

    文章

    45322

    瀏覽量

    662935
  • 模塊
    +關注

    關注

    7

    文章

    2820

    瀏覽量

    52772
  • 超聲波
    +關注

    關注

    63

    文章

    3239

    瀏覽量

    144006
  • CW32
    +關注

    關注

    1

    文章

    281

    瀏覽量

    1666

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    超聲波模塊測距問題

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

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

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

    超聲波模塊測距不算精準

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

    超聲波測距原理

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

    基于STM32的超聲波測距設計

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

    如何使用超聲波模塊實現(xiàn)測距功能?

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

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

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

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

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

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

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

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

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

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

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

    STM32_超聲波測距

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

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

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

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

    C-SR04超聲波模塊是一種常用的測距模塊,其通過發(fā)射超聲波并接收其反射信號來實現(xiàn)測距功能。
    的頭像 發(fā)表于 09-06 09:13 ?1640次閱讀