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

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

3天內不再提示

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

武漢芯源半導體 ? 來源:武漢芯源半導體 ? 2023-09-06 09:13 ? 次閱讀

一、簡介

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。

重復測量

根據需要可定時測量距離,以實現(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;//根據聲速和時間計算距離,即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;//根據聲速和時間計算距離,即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
}





審核編輯:劉清

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

    關注

    6

    文章

    217

    瀏覽量

    30619
  • GND
    GND
    +關注

    關注

    2

    文章

    528

    瀏覽量

    38632
  • 避障機器人
    +關注

    關注

    0

    文章

    18

    瀏覽量

    7681
  • 超聲波模塊
    +關注

    關注

    1

    文章

    21

    瀏覽量

    13476
  • CW32
    +關注

    關注

    1

    文章

    174

    瀏覽量

    550

原文標題:【CW32優(yōu)秀項目展示】基于CW32的超聲波模塊的應用

文章出處:【微信號:武漢芯源半導體,微信公眾號:武漢芯源半導體】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    超聲波和次聲波的頻率范圍和應用

    超聲波和次聲波是兩種不同頻率的聲波,它們在許多領域都有廣泛的應用。以下是關于超聲波和次聲波的頻率范圍和應用的介紹:
    的頭像 發(fā)表于 09-19 16:42 ?1615次閱讀

    PGA460超聲波模塊硬件和軟件優(yōu)化

    電子發(fā)燒友網站提供《PGA460超聲波模塊硬件和軟件優(yōu)化.pdf》資料免費下載
    發(fā)表于 08-27 11:16 ?0次下載
    PGA460<b class='flag-5'>超聲波模塊</b>硬件和軟件優(yōu)化

    超聲波測速的原理、方法及應用

    超聲波測速是一種利用超聲波在介質中的傳播速度來測量物體速度的技術。它廣泛應用于工業(yè)、醫(yī)療、交通等領域。 一、超聲波測速的原理 超聲波的定義 超聲波
    的頭像 發(fā)表于 08-16 10:36 ?3194次閱讀

    AFE5812超聲波模擬前端數(shù)據表

    電子發(fā)燒友網站提供《AFE5812超聲波模擬前端數(shù)據表.pdf》資料免費下載
    發(fā)表于 07-29 09:37 ?0次下載
    AFE5812<b class='flag-5'>超聲波模</b>擬前端數(shù)據表

    AFE5818 16通道超聲波模擬前端數(shù)據表

    電子發(fā)燒友網站提供《AFE5818 16通道超聲波模擬前端數(shù)據表.pdf》資料免費下載
    發(fā)表于 07-29 09:29 ?2次下載
    AFE5818 16通道<b class='flag-5'>超聲波模</b>擬前端數(shù)據表

    超聲波驅動板-超聲波它激式驅動板

    ? ? ? ? 超聲波它激式驅動板是一種將電能轉換為超聲波能量的設備,主要用于驅動超聲波換能器產生高頻振動,進而實現(xiàn)各種超聲波應用。以下是對超聲波
    的頭像 發(fā)表于 06-14 11:54 ?729次閱讀
    <b class='flag-5'>超聲波</b>驅動板-<b class='flag-5'>超聲波</b>它激式驅動板

    超聲波無損檢測原理及應用

    超聲波無損檢測(Ultrasonic Non-Destructive Testing,簡稱UT)是一種利用超聲波在材料內部傳播的特性,檢測材料內部缺陷和結構的無損檢測技術。本文將詳細介紹超聲波無損
    的頭像 發(fā)表于 05-24 16:48 ?4403次閱讀

    超聲波連接示波器問題

    我買了一只中心頻率2.5Mhz的超聲波探頭,當我連接到示波器上的時候就有信號在顯示屏上。 我想問的是示波器上的信號到底是接收的環(huán)境中的超聲波信號? 還是當探頭接到示波器上 探頭就會自動的發(fā)射超聲波然后再接收自己發(fā)射的
    發(fā)表于 05-04 14:46

    51單片機制作舵機控制超聲波模塊

    我用定時器0控制舵機旋轉,定時器2控制超聲波模塊,但是二者只能實現(xiàn)一個功能,有沒有大神幫忙解決一下,求求了
    發(fā)表于 04-20 20:55

    基于51單片機的車輛倒車雷達報警系統(tǒng),HC-SR04超聲波測距,全套資料

    設計要求 1.設計一個以51單片機為核心的超聲波倒車雷達系統(tǒng); 2.超聲波測量范圍在2cm~4m,測量精度3mm; 3.擴展DS18B20溫度測量模塊,讀取環(huán)境溫度和補償超聲波測距聲速
    發(fā)表于 03-19 14:17

    15K超聲波模具20K超音波模具制作

    15KHZ超聲波模具20KHZ超音波模具 15KHZ超聲波模具20KHZ超音波模具深圳市宏大電子設備有限公司都選用進口鋁鎂合金7075.頻率好硬度高,經久耐用!
    發(fā)表于 02-16 15:30

    超聲波傳感器的工作模式有哪些

    自動化、汽車、航空航天、醫(yī)療、消費電子等領域。 超聲波傳感器的工作模式主要有脈沖回聲模式、連續(xù)波模式。 脈沖回聲模式(Pulse-Echo Mode):這是最常見的超聲波傳感器工作模式。在這種模式下,傳感器首先發(fā)射一個短暫的
    的頭像 發(fā)表于 02-16 10:21 ?1022次閱讀

    超聲波傳感器形成超聲波的原理

    超聲波傳感器發(fā)射頭是利用壓電效應來實現(xiàn)產生超聲波的,就是在發(fā)射頭不斷給出一定頻率的如40KHz的電壓信號,就可以產生超聲波。
    的頭像 發(fā)表于 01-29 10:23 ?944次閱讀

    用pwm去控制超聲波模塊時,自動裝載模式下,超聲波的噪音很大是為什么?

    用pwm去控制超聲波模塊時,借鑒的程序中:pwm的技術工作模式是one shot,每次去獲取超聲波模塊返回的值,都是一樣,肯定是cnt沒有變。但如果設置為自動裝載mode,能連續(xù)獲取不同的值。查看
    發(fā)表于 01-17 08:32

    超聲波發(fā)生器的原理

    超聲波發(fā)生器又稱超聲波驅動電源、電子箱、超聲波控制器,是大功率超聲波系統(tǒng)的重要組成部分。超聲波發(fā)生器的作用是將市電轉換為與
    的頭像 發(fā)表于 12-24 10:46 ?1602次閱讀
    <b class='flag-5'>超聲波</b>發(fā)生器的原理