一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

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

STM32F411RE開發(fā)板 x1

HC-SR04超聲波傳感器 x1

跳線 若干


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

工作電源:5VDC

工作電流:15mA

工作頻率:40KHz

最大距離:4m

最小距離:2cm

測量角度:15度

分辨率:0.3cm

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

回升輸出信號:TTL脈沖,與測量成距離成正比


pYYBAGL5nQaANnutAAG4dAhCugA128.png

?

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

HC-SR04傳感器與STM32的連接電路比較簡單,傳感器Vcc與STM32板的5V連接,兩個板子的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;

}

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

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

    關(guān)注

    63

    文章

    3075

    瀏覽量

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

    關(guān)注

    176

    文章

    891

    瀏覽量

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

    關(guān)注

    971

    文章

    4157

    瀏覽量

    191637
  • LIDAR
    +關(guān)注

    關(guān)注

    10

    文章

    333

    瀏覽量

    30044
收藏 人收藏

    評論

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

    超聲波液位計的工作原理 超聲波液位計與其他液位計的比較

    超聲波液位計是一種利用超聲波信號來測量液體高度的儀器。其工作原理基于超聲波在介質(zhì)中的傳播特性。以下是超聲波液位計的基本工作原理: 發(fā)射超聲波
    的頭像 發(fā)表于 11-23 10:28 ?966次閱讀

    如何避免超聲波對晶振的影響

    超聲波技術(shù)被廣泛應(yīng)用于工業(yè)生產(chǎn)中,常見的超聲波工藝有:超聲波清洗工藝、焊接工藝。而在電子元器件圈中最常用到的則是超聲波清洗工藝。使用該種工藝時,超聲
    的頭像 發(fā)表于 10-19 08:10 ?1143次閱讀
    如何避免<b class='flag-5'>超聲波</b>對晶振的影響

    超聲波測厚儀的技術(shù)原理和應(yīng)用場景

    超聲波測厚儀的技術(shù)原理和應(yīng)用場景詳細(xì)如下:技術(shù)原理超聲波測厚儀利用超聲波脈沖反射原理來測量材料的厚度。具體工作原理如下: 發(fā)射超聲波脈沖:測厚儀的探頭(也稱為換能器)向被測物體發(fā)射一束
    發(fā)表于 09-27 15:06

    RK3568教學(xué)實驗箱_操作案例:5-19 超聲波測距實驗

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

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

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

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

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

    超聲波測速的原理、方法及應(yīng)用

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

    雷達(dá)探測障礙物是超聲波還是次聲波

    的特點(diǎn),這使得它非常適合用于探測和測距。 雷達(dá)探測障礙物的工作原理 雷達(dá)(包括超聲波雷達(dá))通過發(fā)射裝置向外發(fā)射超聲波。 這些超聲波遇到障礙物后會被反射回來。 雷達(dá)的接收器接收到反射回來
    的頭像 發(fā)表于 08-16 10:26 ?2413次閱讀

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

    5STM32超聲波測距STM32F103C8t6超聲波避障小車
    的頭像 發(fā)表于 08-15 16:25 ?1256次閱讀
    第七章-V1.5 <b class='flag-5'>STM32</b><b class='flag-5'>超聲波</b><b class='flag-5'>測距</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'>測距</b>

    超聲波驅(qū)動板-超聲波它激式驅(qū)動板

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

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

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

    無損檢測超聲波檢測原理是什么

    無損檢測超聲波檢測原理是一種利用超聲波在材料中傳播的特性來檢測材料內(nèi)部缺陷的檢測方法。它具有檢測速度快、靈敏度高、無損性、可重復(fù)性好等優(yōu)點(diǎn),廣泛應(yīng)用于金屬材料、非金屬材料、復(fù)合材料等多種材料的檢測中
    的頭像 發(fā)表于 05-24 16:45 ?2551次閱讀

    如何將FreeRTOS移植到STM32F411平臺?

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

    STM32F411進(jìn)入SLEEP MODE后無法SWD下載怎么解決?

    目前小弟在學(xué)習(xí)STM32F411的低功耗,使用的硬件是STM32F411 NUCLEO開發(fā)板,使用ST的HAL庫開發(fā),debug采用SWD模式。在系統(tǒng)中加入SLEEP MODE,程序在下載后可以正常
    發(fā)表于 05-15 06:40

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

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