91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32L012/F030靈眸X1智能小車——超聲波模塊配置

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2026-01-05 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

超聲波模塊介紹

SR04超聲波模塊是一款廣泛應(yīng)用的測(cè)距傳感器,主要用于使用超聲波測(cè)量物體與傳感器之間的距離。它是一個(gè)成本低廉、精度較高且易于使用的傳感器,常用于機(jī)器人、智能家居、無人機(jī)、汽車防撞系統(tǒng)等項(xiàng)目。以下是SR04超聲波模塊的主要特點(diǎn)和應(yīng)用:

測(cè)距范圍: SR04模塊的測(cè)距范圍通常在2厘米到400厘米之間,適合多種應(yīng)用。

高精度: 它具備較好的測(cè)量精度,通??蛇_(dá)±3毫米,這使其適用于需要精確測(cè)量的場(chǎng)合。

工作原理: SR04模塊通過發(fā)射超聲波脈沖并測(cè)量聲波反射回來的時(shí)間來計(jì)算距離。傳感器的超聲波發(fā)射和接收分別由兩個(gè)探頭(發(fā)射器和接收器)完成。

簡(jiǎn)單接口: 通常使用簡(jiǎn)單的GND、VCC、Trig(觸發(fā)信號(hào))和Echo(回聲信號(hào))四個(gè)引腳,便于連接到微控制器(如Arduino)上。

低功耗: 在待機(jī)狀態(tài)下,SR04的功耗較低,適合電池供電的項(xiàng)目。

超聲波模塊工作原理

圖片

只需要在 Trig 管腳(觸發(fā)信號(hào))輸入一個(gè) 10US 以上的高電平,系統(tǒng)便可發(fā)出 8 個(gè) 40KHZ 的超聲波脈沖,然后檢測(cè)回波信號(hào)。當(dāng)檢測(cè)到回波信號(hào)后,通過 Echo 管腳輸出。根據(jù) Echo 管腳輸出高電平的持續(xù)時(shí)間可以計(jì)算距離值。即距離值為:(高電平時(shí)間*340m/s)/2。

當(dāng)測(cè)量距離超過 HC-SR04 的測(cè)量范圍時(shí),仍會(huì)通過 Echo管腳輸出高電平的信號(hào),高電平的寬度約為 66ms。如圖所示:

圖片

測(cè)量周期:當(dāng)接收到 HC-SR04 通過 Echo 管腳輸出的高電平脈沖后,便可進(jìn)行下一次測(cè)量,所以測(cè)量周期取決于測(cè)量距離,當(dāng)距離被測(cè)物體很近時(shí),Echo 返回的脈沖寬度較窄,測(cè)量周期 就很短;當(dāng)距離被測(cè)物體比較遠(yuǎn)時(shí),Echo 返回的脈沖寬度較寬,測(cè)量周期也就相應(yīng)地變長(zhǎng)。最壞情況下,被測(cè)物體超出超聲波模塊的測(cè)量范圍,此時(shí) 返回的脈沖寬度最長(zhǎng),約為 66ms,所以最壞情況下的測(cè)量周期稍大于 66ms 即可(取 70ms 足夠)。

電路連接

該模塊在主控制板上與CW32L012/F030連接如下:

圖片

兩個(gè)引腳分別接到了PA8與PA15端口

工程代碼

在文件HC_SR04.C中編寫如下代碼

#define Trig_Send(x)                GPIO_WritePin(CW_GPIOA, GPIO_PIN_8, (GPIO_PinState)(x))
#define Echo_Input                        GPIO_ReadPin(CW_GPIOA, GPIO_PIN_15)
uint16_t Get_Time;
/**************************
定時(shí)器配置
中斷周期為1ms
**************************/
void TIM_Init(void)
{
        RCC_APBPeriphClk_Enable2(RCC_APB2_PERIPH_BTIM,ENABLE);

        BTIM_TimeBaseInitTypeDef BTIM_Initstructure;
        BTIM_Initstructure.BTIM_Mode=BTIM_Mode_TIMER;
        BTIM_Initstructure.BTIM_OPMode=BTIM_OPMode_Repetitive;
        BTIM_Initstructure.BTIM_Period=1000-1;
        BTIM_Initstructure.BTIM_Prescaler=BTIM_PRS_DIV64;//64分頻
        BTIM_TimeBaseInit(CW_BTIM1,&BTIM_Initstructure);

        BTIM_ITConfig(CW_BTIM1,BTIM_IT_OV,ENABLE);
//        BTIM_Cmd(CW_BTIM1,ENABLE);
        NVIC_SetPriority(BTIM1_IRQn,8);//中斷優(yōu)先級(jí)
        NVIC_EnableIRQ(BTIM1_IRQn);//開啟中斷
}
void HC_SR04_Init(void)
{
        __RCC_GPIOA_CLK_ENABLE();

        GPIO_InitTypeDef GPIO_InitStruct;
        GPIO_InitStruct.IT=GPIO_IT_NONE;
        GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;
        GPIO_InitStruct.Pins=GPIO_PIN_8;
        GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
        GPIO_Init(CW_GPIOA, &GPIO_InitStruct);

        GPIO_InitStruct.IT=GPIO_IT_NONE;
        GPIO_InitStruct.Mode=GPIO_MODE_INPUT_PULLDOWN;
        GPIO_InitStruct.Pins=GPIO_PIN_15;
        GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
        GPIO_Init(CW_GPIOA, &GPIO_InitStruct);

        Trig_Send(0);

        TIM_Init();
}
void BTIM1_Start(void)//打開定時(shí)器
{
        BTIM_SetCounter(CW_BTIM1,0);
        Get_Time=0;
        BTIM_Cmd(CW_BTIM1,ENABLE);
}
void BTIM1_Stop(void)//關(guān)閉定時(shí)器
{
        BTIM_Cmd(CW_BTIM1,DISABLE);
}
uint32_t Get_Tim_Timer(void)//得到信號(hào)反射時(shí)間
{
        uint32_t time;
        time=Get_Time*1000;
        time+=BTIM_GetCounter(CW_BTIM1);
        BTIM_SetCounter(CW_BTIM1,0);

        return time;
}
float Get_Disance(void)//距離計(jì)算
{
        uint8_t i;
        uint16_t time=0;
        float Distance=0;
        float Temp=0;
        float num=0;
        for(i=0;i

在main.c中編寫如下代碼

int main(void)
{
        OLED_Init();//初始化
        HC_SR04_Init();
        OLED_ShowString(1,1,"hello");//OLED顯示字符串
        while(1)
        {
                OLED_ShowString(2,1,"Dis:");
                OLED_ShowNum(2,5,Get_Disance(),3);//距離顯示
                OLED_ShowString(2,9,"cm");;
        }
}

工作現(xiàn)象

將代碼燒入主控制板之后,可以觀察到以下現(xiàn)象

OLED顯示屏第一行第一列顯示字符串hello

第二行顯示距離單位cm

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 超聲波
    +關(guān)注

    關(guān)注

    63

    文章

    3302

    瀏覽量

    145301
  • 智能小車
    +關(guān)注

    關(guān)注

    87

    文章

    560

    瀏覽量

    83433
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    299

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32L012/F030X1智能小車——板載WS2812驅(qū)動(dòng)示例

    WS2812是一種廣泛使用的地址可控制的RGB LED模塊,其內(nèi)置驅(qū)動(dòng)電路和控制芯片,允許用戶通過單線信號(hào)控制多個(gè)LED的顏色和亮度。
    的頭像 發(fā)表于 01-05 16:35 ?2907次閱讀
    <b class='flag-5'>CW32L012</b>/<b class='flag-5'>F030</b><b class='flag-5'>靈</b><b class='flag-5'>眸</b><b class='flag-5'>X1</b><b class='flag-5'>智能</b><b class='flag-5'>小車</b>——板載WS2812驅(qū)動(dòng)示例

    CW32L012小型機(jī)器人控制評(píng)估板活動(dòng) 四足機(jī)器人+智能小車 開箱評(píng)測(cè)

    。 CW32L012活動(dòng)相關(guān)資料鏈接:https://dwi41yhz703.feishu.cn/wiki/B1Ihw31ebiX0vkkhQr2cINnkn1g 小型機(jī)器人+智能小車
    發(fā)表于 11-24 23:44

    超聲波模塊參考

    說明: DYP-ME007超聲波模塊AVRmega16程序 DYP-ME007 超聲波模塊DYP-ME007和89c51的數(shù)據(jù)資料 超聲波模塊參考
    發(fā)表于 08-12 10:27

    超聲波模塊測(cè)距問題

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

    HC-SR04超聲波模塊的工作原理是什么

    ,模塊高精度,盲區(qū)小等特點(diǎn)。此模塊可用于機(jī)器人與小車避障,物體測(cè)距等,是現(xiàn)在高校比賽中常用的一款避障傳感器。二、超聲波測(cè)距原理超聲波測(cè)距原理
    發(fā)表于 07-19 09:36

    超聲波模塊的原理

    最近在造小車 需要用到超聲波模塊 現(xiàn)將調(diào)試時(shí)用到的代碼分享出來。所用超聲波模塊為HC-SR04單片機(jī)開發(fā)板是吳鑒鷹的先理解超聲波模塊的原理,它有四個(gè)接口 Vcc Trig Echo G
    發(fā)表于 07-21 08:54

    怎樣去設(shè)計(jì)一種基于超聲波模塊智能避障小車

    超聲波模塊的工作原理是什么?怎樣去設(shè)計(jì)一種基于超聲波模塊智能避障小車呢?
    發(fā)表于 11-17 06:56

    利用超聲波模塊設(shè)計(jì)智能避障的WiFi小車

    51版本(第一節(jié))這個(gè)智能小車可以使用51或32或Arduino wemos來完成,由于時(shí)間原因,這里不一定會(huì)把32版本的放出來。先看一下代碼展示圖這里利用的模塊有HC-SR04超聲波模塊
    發(fā)表于 12-13 06:54

    怎么使用STM32F1驅(qū)動(dòng)超聲波模塊

    16個(gè)小時(shí),錯(cuò)誤原因竟然是哭笑不得的供電不足)。第二,分享給其他在學(xué)或還不知道怎么使用超聲波模塊的同仁,避免犯和我一樣的錯(cuò)誤。編程IDE工具:KEIL5實(shí)驗(yàn)所需材料:1.STM32F103系列單片機(jī)任意一款2. HC_SR04超聲波模塊
    發(fā)表于 01-17 07:32

    超聲波模塊的工作原理與時(shí)序圖學(xué)習(xí)

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔文章目錄前言一、超聲波模塊的工作原理二、超聲波的時(shí)序圖三、利用STM32F407進(jìn)行驅(qū)動(dòng)編寫1.定時(shí)器
    發(fā)表于 02-16 06:02

    怎樣利用HY-SRF05超聲波模塊實(shí)現(xiàn)超聲波的測(cè)距避障呢

    目錄產(chǎn)品功能硬件結(jié)構(gòu)STM32F10X主控板引腳接線HY-SRF05 超聲波模塊引腳接線軟件代碼測(cè)試結(jié)果產(chǎn)品功能硬件結(jié)構(gòu)STM32F10X主控板引腳接線HY-SRF05 超聲波模塊引腳
    發(fā)表于 02-24 06:07

    超聲波模塊

    超聲波模塊的資料,在使用的或者學(xué)習(xí)的燒友可以來看看。
    發(fā)表于 06-17 16:33 ?32次下載

    利用HY-SRF05 超聲波模塊實(shí)現(xiàn)超聲波的測(cè)距避障

    目錄產(chǎn)品功能硬件結(jié)構(gòu)STM32F10X主控板引腳接線HY-SRF05 超聲波模塊引腳接線軟件代碼測(cè)試結(jié)果產(chǎn)品功能硬件結(jié)構(gòu)STM32F10X主控板引腳接線HY-SRF05 超聲波模塊引腳
    發(fā)表于 12-31 19:53 ?15次下載
    利用HY-SRF05 <b class='flag-5'>超聲波模塊</b>實(shí)現(xiàn)<b class='flag-5'>超聲波</b>的測(cè)距避障

    如何使用超聲波模塊

    本例為FPGA之旅設(shè)計(jì)99例中的第十五例,本例將介紹如何使用超聲波模塊,進(jìn)行測(cè)距。這個(gè)模塊智能小車中使用的比較多,使用起來比較方便,僅需四個(gè)引腳即可驅(qū)動(dòng)。
    的頭像 發(fā)表于 09-26 09:59 ?3703次閱讀

    基于CW32的超聲波模塊的應(yīng)用

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