精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

基于STM32F411的cm級(jí)超聲波測(cè)距系統(tǒng)及完整代碼

芯情觀察猿 ? 來源:芯情觀察猿 ? 作者:芯情觀察猿 ? 2022-08-15 09:10 ? 次閱讀

本項(xiàng)目通過HC-SR04超聲波傳感器STM32F411開發(fā)板,以精確到cm的精度測(cè)量目標(biāo)物體的距離。項(xiàng)目BOM表如下:

STM32F411RE開發(fā)板 x1

HC-SR04超聲波傳感器 x1

跳線 若干


其中,HC-SR04超聲波傳感器可以0.3cm精度讀取2-400cm范圍距離,而且超聲波發(fā)射器和接收器組合在一起,適合大多數(shù)個(gè)人愛好項(xiàng)目。主要性能包括:

工作電源:5VDC

工作電流:15mA

工作頻率:40KHz

最大距離:4m

最小距離:2cm

測(cè)量角度:15度

分辨率:0.3cm

觸發(fā)輸入信號(hào):10uS TTL脈沖

回升輸出信號(hào):TTL脈沖,與測(cè)量成距離成正比


pYYBAGL5nQaANnutAAG4dAhCugA128.png

?

當(dāng)傳感器接收到一個(gè)觸發(fā)信號(hào),就發(fā)出一個(gè)40KHz突發(fā)信號(hào)。該信號(hào)通過空氣傳播,在撞到目標(biāo)物體后返回傳感器,再由傳感器根據(jù)一定算法得出被測(cè)物體的距離。

HC-SR04傳感器與STM32的連接電路比較簡(jiǎn)單,傳感器Vcc與STM32板的5V連接,兩個(gè)板子的GND引腳連接,傳感器的Trig 引腳與開發(fā)板的A0 (PA0) 連接,echo引腳與開發(fā)板的A1 (PA1)引腳連接。


poYBAGL5nQeAYCX7AAQV4inxFGQ910.png

按照上述電路圖連接妥當(dāng)后,將以下代碼上傳到Arduino IDE。


#include "stm32f4xx.h"

// Device header

//macros for trigger pin

#define Trig_high GPIOA->BSRR=GPIO_BSRR_BS_0 // turn on PA0 (trig pin)

#define Trig_low GPIOA->BSRR=GPIO_BSRR_BR_0 // turn off PA0 (trig pin)

?

uint32_t duration;

float distance;

//prototypes of the used function

void delaymS(uint32_t ms);

void delayuS(uint32_t us);

uint32_t read_echo(uint32_t timeout);

?

int main(void)

?

{

RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; //enable GPIOA Clock

GPIOA->MODER |= (1<<0); //set PA0 to Output

//configure Timer1 to generate micorseconds delay

RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; /*Enable TIM3 clock*/

TIM1->PSC = 16 -1; /* 16 000 000 /16 = 1000 000*/

TIM1->ARR = 1; /* 1000 000 /1 = 1000000*/

TIM1->CNT =0;

TIM1->CR1 =1;

while(1)

{

Trig_low; //turn off trig

delayuS(10); //wait 4uS

Trig_high; //turn on trig

delayuS(10);

Trig_low;

duration=read_echo(400000); //measure the time of echo pin

distance=duration/58; //distance=duration/2*SOUND_SPEED

delaymS(1000); //delay for 1 second between each read

}

?

}

?

void delaymS(uint32_t ms) //delay for certain amount in milliseconds

{

SysTick->LOAD=16000-1;

SysTick->VAL=0;

SysTick->CTRL=0x5;

for (int i=0;i;i++)<>

{

while(!(SysTick->CTRL &0x10000)){}

}

SysTick->CTRL=0;

}

void delayuS(uint32_t us) //delay for certain amount in microseconds

{

for(int i =0;i;i++){<>

while(!(TIM1->SR & 1)){} /*wait for UIF set*/

TIM1->SR &= ~1;

}

}

uint32_t read_echo(uint32_t timeout)

{

uint32_t duration;

while(!((GPIOA->IDR)&GPIO_IDR_ID1)){duration++;delayuS(1);

if(duration>timeout){return 0;}

}

duration=0;

while((GPIOA->IDR&GPIO_IDR_ID1)){duration++;delayuS(1);if(duration>timeout){return 0;} }

return duration;

}

如果一切正常,就可以開始測(cè)量物體的距離了,可通過serial monitor觀測(cè)結(jié)果。如果為了方便攜帶,也可連接OLED之類的顯示器件。

聲明:本文內(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

    文章

    2991

    瀏覽量

    138247
  • DIY
    DIY
    +關(guān)注

    關(guān)注

    176

    文章

    886

    瀏覽量

    348279
  • 激光雷達(dá)
    +關(guān)注

    關(guān)注

    967

    文章

    3943

    瀏覽量

    189622
  • LIDAR
    +關(guān)注

    關(guān)注

    10

    文章

    323

    瀏覽量

    29363
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RK3568教學(xué)實(shí)驗(yàn)箱_操作案例:5-19 超聲波測(cè)距實(shí)驗(yàn)

    的設(shè)計(jì)實(shí)現(xiàn):LCD顯示界面以及與用戶的交互; (3)編輯控制代碼; (4)編譯程序; (5)運(yùn)行程序。 根據(jù)原理圖,可知本實(shí)驗(yàn)使用的超聲波測(cè)距模塊是基于CS100A系列芯片的。 CS100A芯片
    發(fā)表于 09-23 15:40

    超聲波和次聲波的頻率范圍和應(yīng)用

    超聲波和次聲波是兩種不同頻率的聲波,它們?cè)谠S多領(lǐng)域都有廣泛的應(yīng)用。以下是關(guān)于超聲波和次聲波的頻率范圍和應(yīng)用的介紹:
    的頭像 發(fā)表于 09-19 16:42 ?1972次閱讀

    第16章-超聲波跟隨功能 基于STM32的三路超聲波自動(dòng)跟隨小車 畢業(yè)設(shè)計(jì) 課程設(shè)計(jì)

    第16章-超聲波跟隨功能 基于STM32的三路超聲波自動(dòng)跟隨小車 畢業(yè)設(shè)計(jì) 課程設(shè)計(jì)
    的頭像 發(fā)表于 08-21 15:26 ?420次閱讀
    第16章-<b class='flag-5'>超聲波</b>跟隨功能 基于<b class='flag-5'>STM32</b>的三路<b class='flag-5'>超聲波</b>自動(dòng)跟隨小車 畢業(yè)設(shè)計(jì) 課程設(shè)計(jì)

    第七章-V1.5 STM32超聲波測(cè)距STM32F103C8t6超聲波避障小車 超聲波避障模塊 STM32超聲波測(cè)距

    5STM32超聲波測(cè)距STM32F103C8t6超聲波避障小車
    的頭像 發(fā)表于 08-15 16:25 ?607次閱讀
    第七章-V1.5 <b class='flag-5'>STM32</b><b class='flag-5'>超聲波</b><b class='flag-5'>測(cè)距</b><b class='flag-5'>STM32F</b>103C8t6<b class='flag-5'>超聲波</b>避障小車 <b class='flag-5'>超聲波</b>避障模塊 <b class='flag-5'>STM32</b><b class='flag-5'>超聲波</b><b class='flag-5'>測(cè)距</b>

    超聲波無損檢測(cè)原理及應(yīng)用

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

    如何將FreeRTOS移植到STM32F411平臺(tái)?

    最近打算做一個(gè)智能家居嵌入式開發(fā)平臺(tái),選用ST的STM32F411加Qualcomm的QCA4002. 由于QCA4002功能比較復(fù)雜,打算用FreeRTOS來驅(qū)動(dòng)它。 不知道有高手做過將FreeRTOS移植到STM32F411平臺(tái)沒?如果有源碼就最好了,謝謝哦!
    發(fā)表于 05-17 06:05

    在全志H616核桃派開發(fā)板上實(shí)現(xiàn)超聲波傳感器測(cè)距

    實(shí)現(xiàn)超聲波傳感器測(cè)距。 實(shí)驗(yàn)講解? 下圖是一款市面上常用的HCSR04超聲波模塊: 模塊參數(shù) 供電電壓 3.3V~5V (核桃派需要使用支持3.3V的) 測(cè)量距離 2cm~450
    發(fā)表于 05-08 16:21

    超聲波連接示波器問題

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

    基于51單片機(jī)的車輛倒車?yán)走_(dá)報(bào)警系統(tǒng),HC-SR04超聲波測(cè)距,全套資料

    設(shè)計(jì)要求 1.設(shè)計(jì)一個(gè)以51單片機(jī)為核心的超聲波倒車?yán)走_(dá)系統(tǒng); 2.超聲波測(cè)量范圍在2cm~4m,測(cè)量精度3mm; 3.擴(kuò)展DS18B20溫度測(cè)量模塊,讀取環(huán)境溫度和補(bǔ)償
    發(fā)表于 03-19 14:17

    超聲波傳感器和超聲波測(cè)距原理分析

    聲音是由振動(dòng)產(chǎn)生的,能夠產(chǎn)生超聲波的裝置就是超聲波傳感器,習(xí)慣上稱為超聲換能器,或者超聲探頭。
    發(fā)表于 01-29 09:20 ?764次閱讀
    <b class='flag-5'>超聲波</b>傳感器和<b class='flag-5'>超聲波</b><b class='flag-5'>測(cè)距</b>原理分析

    超聲波測(cè)距原理 超聲波測(cè)距離傳感器接線方法

    超聲波測(cè)距是一種常用的測(cè)距方法,通過發(fā)射超聲波脈沖,利用其在空氣中傳播速度較快的特點(diǎn),測(cè)量出從傳感器到目標(biāo)物體的時(shí)間差,并進(jìn)而計(jì)算出距離。超聲波
    的頭像 發(fā)表于 01-22 15:22 ?2235次閱讀

    超聲波傳感器的工作原理 超聲波傳感器的應(yīng)用

    超聲波傳感器是一種基于超聲波的無接觸式測(cè)距傳感器,可以廣泛應(yīng)用于工業(yè)、醫(yī)療、軍事等領(lǐng)域。本文將詳細(xì)介紹超聲波傳感器的工作原理以及其在各個(gè)領(lǐng)域的應(yīng)用。
    的頭像 發(fā)表于 01-18 14:04 ?1581次閱讀

    超聲波傳感器的聲波頻率是多少

    超聲波傳感器一般使用40kHz左右。超聲波傳感器是一種常用的非接觸測(cè)距裝置,利用超聲波的傳播速度測(cè)量目標(biāo)物體與傳感器之間的距離,具有測(cè)量范圍寬、精度高、靈敏度強(qiáng)等優(yōu)點(diǎn)。在本文中,我們將
    的頭像 發(fā)表于 01-16 09:47 ?1621次閱讀

    超聲波傳感器測(cè)距離的原理

    超聲波傳感器測(cè)距離的原理是利用聲波在空氣中的傳播速度測(cè)量物體與傳感器之間的距離。具體而言,傳感器發(fā)送出一個(gè)超聲波信號(hào),然后測(cè)量信號(hào)從發(fā)送到接收所需的時(shí)間,并根據(jù)
    的頭像 發(fā)表于 01-15 09:41 ?2728次閱讀

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

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