女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

基于STM32F411的cm級超聲波測距系統及完整代碼

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

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

STM32F411RE開發板 x1

HC-SR04超聲波傳感器 x1

跳線 若干


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

工作電源:5VDC

工作電流:15mA

工作頻率:40KHz

最大距離:4m

最小距離:2cm

測量角度:15度

分辨率:0.3cm

觸發輸入信號:10uS TTL脈沖

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


pYYBAGL5nQaANnutAAG4dAhCugA128.png

?

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

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


poYBAGL5nQeAYCX7AAQV4inxFGQ910.png

按照上述電路圖連接妥當后,將以下代碼上傳到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觀測結果。如果為了方便攜帶,也可連接OLED之類的顯示器件。

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

    關注

    63

    文章

    3099

    瀏覽量

    139831
  • DIY
    DIY
    +關注

    關注

    176

    文章

    892

    瀏覽量

    351679
  • 激光雷達
    +關注

    關注

    971

    文章

    4189

    瀏覽量

    191883
  • LIDAR
    +關注

    關注

    10

    文章

    341

    瀏覽量

    30144
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    超聲波清洗的原理是什么?超聲波清洗是如何起作用的?

    超聲波清洗是一種利用高頻超聲波振動來清洗物體表面和難以達到的細微部分的清潔技術。其工作原理基于聲波的物理特性和聲波對液體中微小氣泡的影響。以下是超聲
    的頭像 發表于 05-26 17:21 ?112次閱讀
    <b class='flag-5'>超聲波</b>清洗的原理是什么?<b class='flag-5'>超聲波</b>清洗是如何起作用的?

    超聲波頻率和功率對在線式超聲波清洗的影響如何?

    在線式超聲波清洗是一種高效、環保的清洗方式,在多個行業得到了廣泛應用。然而,超聲波頻率和功率是影響清洗效果和清洗速度的關鍵因素。在本文中,我們將從理論和實踐兩個方面分析超聲波頻率和功率對在線式
    的頭像 發表于 05-09 16:39 ?174次閱讀
    <b class='flag-5'>超聲波</b>頻率和功率對在線式<b class='flag-5'>超聲波</b>清洗的影響如何?

    超聲波焊接工藝詳解 超聲波焊接應用領域

    超聲波焊接工藝的詳細解釋: 超聲波焊接系統的主要組件 : 超聲波發生器 :產生高頻電振動信號,通常頻率為20kHz到40kHz。 換能器 :將電振動信號轉換為機械振動,即
    的頭像 發表于 01-31 15:12 ?1008次閱讀

    【CW32模塊使用】US-016超聲波測距傳感器

    US-016是市場上唯有的一款模擬量輸出的超聲波測距模塊,輸出的模擬電壓和距離值成正比,可以方便的和其他系統相連,US-016工作穩定可靠。 US-016超聲波
    的頭像 發表于 11-28 12:02 ?1378次閱讀
    【CW32模塊使用】US-016<b class='flag-5'>超聲波</b><b class='flag-5'>測距</b>傳感器

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

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

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

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

    超聲波測厚儀的技術原理和應用場景

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

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

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

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

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

    超聲波水表是什么?量程比又是什么?

    一、超聲波水表概述1.定義:超聲波水表是一種利用超聲波技術來測量水流速度,進而計算出流經管道的水體積流量的計量設備。它通過發送和接收超聲波信號的時間差來確定水流的速度,從而精確地計量水
    的頭像 發表于 08-22 18:23 ?1382次閱讀
    <b class='flag-5'>超聲波</b>水表是什么?量程比又是什么?

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

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

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

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

    雷達探測障礙物是超聲波還是次聲波

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

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

    5STM32超聲波測距STM32F103C8t6超聲波避障小車
    的頭像 發表于 08-15 16:25 ?1470次閱讀
    第七章-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>

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

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