【mcuclub】超声波测距模块HC-SR04

这篇具有很好参考价值的文章主要介绍了【mcuclub】超声波测距模块HC-SR04。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实物图

【mcuclub】超声波测距模块HC-SR04

 

二、原理图

【mcuclub】超声波测距模块HC-SR04

编号 名称 功能
1 VCC 电源正
2 TRIG 触发控制信号输入
3 ECHO 回响信号输出
4 GND 电源地

三、简介

由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物体测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人研制上也得到了广泛的应用。

HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度3mm,模块包括超声波发射器、接收器与控制电路。

基本工作原理:

超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。测试距离=(计时时间*声速)/2

【mcuclub】超声波测距模块HC-SR04

 

四、电器特性

【mcuclub】超声波测距模块HC-SR04

 

五、时序解析

【mcuclub】超声波测距模块HC-SR04

 

(1)采用IO口TRIG触发测距,给最少10us的高电平触发信号。

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

(4)测试距离=(高电平时间*声速)/2;

代码如下:

/****

*******获取距离函数

Hcsr04_temp:当前的环境温度

返回值:测得的距离(距离单位cm)

*****/

uint Hcsr04_GetDistance(uint Hcsr04_temp)

{

   uint Hcsr04_distance;           //用于记录测得的距离

   float Hcsr04_speed;             //保存超声波的速度值

   TH2 = 0;             //使用定时器2作为计时器

   TL2 = 0;

   HCSR04_Trig = 0;     //给超声波模块一个高电平的开始脉冲

   Hcsr04_Delay(20);

   HCSR04_Trig = 1;

   Hcsr04_Delay(20);

   HCSR04_Trig = 0;

   while(!HCSR04_Echo);    //等待超声波模块的返回脉冲

   TR2 = 1;                //启动定时器,开始计时

   while(HCSR04_Echo);     //等待超声波模块的返回脉冲结束

   TR2 = 0;                //停止定时器,停止计时

   Hcsr04_speed = 0.607*Hcsr04_temp+331.4;             //根据公式 v=0.607T+331.4 计算出当前温度值对应的超声波速度,这时的单位是“米/秒”

   Hcsr04_speed = Hcsr04_speed/10000;                  //将超声波的速度从单位“m/s”转为“cm/us”,方便后面的计算

  Hcsr04_distance=((TH2*256+TL2) * (12/FOSC) * Hcsr04_speed) / 2;           // 距离cm = (时间us * 速度cm/us) / 2

   if(Hcsr04_distance > 500)  //把检测结果限制500厘米内

   Hcsr04_distance = 500;

   return Hcsr04_distance;

}

六、流程设计

首先初始化引脚,然后复位定时器计数值,接着给超声波一个高电平的开始信号,等待超声波模块的返回脉冲,接到返回脉冲,则开始计时,然后等待超声波模块的返回脉冲结束,如果结束,则停止计时。接下来通过温度补偿计算声波速度,通过距离=(时间*速度)/2最终得到距离值。最后判断距离值是否超过量程,如果超过量程则将距离值设置成最大量程值。

【mcuclub】超声波测距模块HC-SR04文章来源地址https://www.toymoban.com/news/detail-404722.html

到了这里,关于【mcuclub】超声波测距模块HC-SR04的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于STM32的超声波HC-SR04和红外测距模块测量距离的实验对比(HAL库)

            前言: 本文主要是为了 日常普通场合 下测距做的 对比实验 ,本实验主要包含 2种模块 : 超声波测距模块 (HC-SR04)和 红外测距模块 (SHARP GP2Y0A21YK0F)。两种模块不管是测距原理和编程实验方式都是不相同的,其测距效果也存在很大差异。感兴趣的读者朋友,

    2023年04月27日
    浏览(68)
  • 树莓派使用HC-SR04超声波测距

      超声波测距原理很简单:   1、通过记录发送超声波的时间、记录超声波返回的时间,返回时间与发送时间相减得到超声波的持续时间。   2、通过公式:( 超声波持续时间 * 声波速度 ) / 2 就可以得出距离;   HC-SR04参数:   工作电压: 5V   工作电流:15mA   

    2024年02月06日
    浏览(51)
  • STM32系列(HAL库)——F103C8T6通过HC-SR04超声波模块实现测距

    (1)编程平台:Keil5 (2)CubeMX (3)XCOM(串口调试助手) (1)某宝买的超声波模块   (2)F1的板子,本例使用经典F103C8T6 (3)ST-link 下载器 (4)USB-TTL模块 (5)杜邦线若干 (1)模块简介:         超声波是振动频率高于20kHz的机械波。它具有频率高、波长短、绕射现象小、方向性好、能够成为射

    2024年02月02日
    浏览(50)
  • 【嵌入式系统应用开发】FPGA——基于HC-SR04超声波测距

    硬件 DE2-115 HC-SR04超声波传感器 软件 Quartus 18.1 使用DE2-115开发板驱动HC-SR04模块,并将所测得数据显示到开发板上的数码管。 HC-SR04 超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。图1为 HC-SR04 外观,

    2024年02月08日
    浏览(62)
  • STM32驱动HC-SR04超声波模块

    本篇文章将带大家使用HAL库驱动HC-SR04超声波模块。超声波模块作为智能小车必备的模块,要学习智能小车的同学是必须掌握好这个模块的使用的。 HC-SR04是一种常用的超声波传感器模块,也被称为超声波测距模块,广泛应用于各种自动化控制和测距系统中。它通常由超声波发

    2024年02月09日
    浏览(45)
  • Linux驱动基础(HC-SR04超声波模块)

    本篇文章将讲解HC-SR04超声波模块的驱动程序编写,有了上篇SR501模块驱动程序编写的基础后这篇文章大家将会学的非常轻松。 HC-SR04超声波模块是一种常用于距离测量和障碍物检测的模块。它通过发射超声波信号并接收回波来计算所测量物体与传感器之间的距离。 HC-SR04超声波

    2024年02月05日
    浏览(51)
  • 基于STM32F103C8T6(HAL库)的HC-SR501红外人体传感及HC-SR04超声波测距

    一、基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁 二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发 三、实战小例程 基于STM32F103C8T6最小系统板和STM32CubeMX驱动WS2812B光立方 四、基于STM32F103C8T6最小系统板HAL库CubeMX驱动HC-SR501红外人体传感模块 五、基于STM32F103C8

    2023年04月17日
    浏览(108)
  • 【CubeMX配置STM32驱动超声波模块(HC-SR04)】

    一、CubeMX配置STM32 1、选择定时器 选择 输入捕获模式 预分频设置为71,向上计数,自动重装值65535 然后将名字改为 ECHO 2、配置TRIG口 这里的端口使用其它空闲的IO口是可以的,设置为输出模式,其它配置不需要改变,最主要的是 User Label 那儿,需要设置为 TRIG ,因为驱动函数里

    2024年02月02日
    浏览(57)
  • 基于51单片机驱动HC-SR04超声波模块(LCD1602显示)

    点击图片购买 HC- SR04+是一款宽电压工作的超声波测距模块。模块外形尺寸及软件与老版本 HC- SR04完全兼容;可以与老版本HC SR04无缝切换。低至3V的低工作电压, 使其与3.3V供电的MCU可以直接连接。 特点 探测角度: 15° 采用工业级MCU,工作温度:-20C~80C 探测距离:5V:2cm-- 450cm;3.3V: 2c

    2024年02月02日
    浏览(61)
  • 【STM32篇】驱动HC_SR04超声波测距模块

    CH_SR04 HC_SR04超声波测距模块可提供 2cm-400cm 的非接触式测距感测功能,测距精度高达3mm;模块包括超声波发射器,接收器与控制电路。 基本工作原理: (1)采用IO口TRIG触发测距,需要给最少10us的高电平。 (2)模块自动发送8个40kHz的方波,自动检测是否有信号返回。 (3)有

    2024年02月17日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包