在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    3026

    瀏覽量

    138472
  • DIY
    DIY
    +關注

    關注

    176

    文章

    888

    瀏覽量

    348799
  • 激光雷達
    +關注

    關注

    968

    文章

    3989

    瀏覽量

    190078
  • LIDAR
    +關注

    關注

    10

    文章

    327

    瀏覽量

    29449
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

    如何將FreeRTOS移植到STM32F411平臺?

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

    STM32F411進入SLEEP MODE后無法SWD下載怎么解決?

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

    在全志H616核桃派開發板上實現超聲波傳感器測距

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

    超聲波連接示波器問題

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

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

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

    超聲波傳感器和超聲波測距原理分析

    聲音是由振動產生的,能夠產生超聲波的裝置就是超聲波傳感器,習慣上稱為超聲換能器,或者超聲探頭。
    發表于 01-29 09:20 ?968次閱讀
    <b class='flag-5'>超聲波</b>傳感器和<b class='flag-5'>超聲波</b><b class='flag-5'>測距</b>原理分析

    超聲波測距原理 超聲波測距離傳感器接線方法

    超聲波測距是一種常用的測距方法,通過發射超聲波脈沖,利用其在空氣中傳播速度較快的特點,測量出從傳感器到目標物體的時間差,并進而計算出距離。超聲波
    的頭像 發表于 01-22 15:22 ?2514次閱讀

    超聲波傳感器的工作原理 超聲波傳感器的應用

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

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

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

    超聲波傳感器測距離的原理

    超聲波傳感器測距離的原理是利用聲波在空氣中的傳播速度測量物體與傳感器之間的距離。具體而言,傳感器發送出一個超聲波信號,然后測量信號從發送到接收所需的時間,并根據
    的頭像 發表于 01-15 09:41 ?3005次閱讀
    主站蜘蛛池模板: 噜噜噜色网| 亚洲色图在线播放| 色综合综合色综合色综合| 日本69sex护士xxx| 日日天天干| 1000部啪啪勿入十八免费| 毛片毛片毛片毛片毛片毛片| 农村三级毛片| 色妹子综合| 亚洲成人自拍| 黄视频在线免费看| semm亚洲欧美在线高清| 国产综合在线视频| 色片视频网站| 狠狠干狠狠插| 好吊色7777sao在线视频观看| 久久久久国产精品免费免费| 天天操天天射天天| 午夜传媒| 亚洲系列_1页_mmyy11| 成人网在线观看| 国产日本三级| 国产三级在线看| 狠狠狠狼鲁欧美综合网免费| 美剧免费在线观看| 丁香花小说| 色极影院| tube69日本| 亚洲色图在线观看视频| 日本黄色免费在线| 日本bbxx| 国产拍拍视频| 手机看片日本| 欧美成人在线影院| 久久亚洲国产午夜精品理论片| 免费一级特黄视频| 美女被免费网站视频在线| 欧美最猛黑人xxxxwww| 不卡视频免费在线观看| 长腿丝袜美女被啪啪| 夜色福利久久久久久777777|