0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用超声波进行测距呢?

冬至子 来源:TonyCode 作者:TonyCode 2023-06-13 16:45 次阅读

超声波是振动频率高于20KHz的机械波,它具有频率高、波长短、绕射现象小、方向性好、能够成为射线而定向传播等特点,在工业、国防、生物医学等方面有广泛应用,本篇介绍利用超声波进行测距。

1. 测距原理

超声波传感器的发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据计时器记录的时间t,声波在空气中的传播速度为340m/s,就可以计算出发射点距障碍物的距离s,即:s=340m/s × t / 2 。这就是所谓的时间差测距法。

2. 超声波传感器介绍

超声波传感器是将超声波信号转换成其他能量信号「通常是电信号」的传感器。HC-SR04是比较常用的超声波传感器模块,广泛应用于机器人测距、小车避障等场合。

主要参数

  • 电压:DC5V
  • 电流:15mA
  • 频率:40KHz
  • 感应角度:<15度
  • 探测距离:2cm—400cm
  • 精度:3mm

使用说明

  • 采用Trig引脚触发测距,给至少10us的高电平信号。
  • 模块自动发送8个40KHz的方波,自动检测是否有信号返回。
  • 有信号返回后,通过Echo引脚输出高电平,通过高电平持续时间获取到时间量。

3. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • HC-SR04超声波传感器模块

4. 实验步骤

1. 根据原理图搭建电路图。

超声波传感器模块的VCC、GND分别连接到开发板的5V、GND。传感器的Trig引脚、Echo引脚分别连接到开发板的数字引脚2、3。

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

1#define TrigPin 2
 2#define EchoPin 3
 3
 4float Value_cm;
 5
 6void setup() {
 7  Serial.begin(9600);
 8  pinMode(TrigPin, OUTPUT);
 9  pinMode(EchoPin, INPUT);
10}
11
12void loop() {
13  digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
14  delayMicroseconds(2);
15  digitalWrite(TrigPin, HIGH);
16  delayMicroseconds(10);
17  digitalWrite(TrigPin, LOW);
18  Value_cm = float( pulseIn(EchoPin, HIGH) * 17 ) / 1000; 
19  //读取一个引脚的脉冲(HIGH或LOW)。例如,如果value是HIGH,pulseIn()会等待引脚变为HIGH,开始计时,再等待引脚变为LOW并停止计时。
20  //接收到的高电平的时间(us)*340m/s/2=接收到高电平的时间(us)*17000cm/1000000us = 接收到高电平的时间*17/1000(cm) 
21  Serial.print(Value_cm);
22  Serial.println("cm");
23  delay(1000);
24}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

图片

程序下载

5. 实验现象

打开串口监视器,波特率设置成与程序中相一致的9600。改变超声波传感器与遮挡物的距离,监视器中将显示对应的距离。

图片

实验现象

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28379

    浏览量

    206914
  • 接收机
    +关注

    关注

    8

    文章

    1180

    浏览量

    53453
  • 电信号
    +关注

    关注

    1

    文章

    817

    浏览量

    20564
  • 超声波传感器

    关注

    18

    文章

    583

    浏览量

    35927
  • GND
    GND
    +关注

    关注

    2

    文章

    539

    浏览量

    38696
收藏 人收藏

    评论

    相关推荐

    超声波测距系统设计

    超声波测距系统设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过
    发表于 10-15 15:25

    超声波测距原理

    为此,文中尝试以单片机AT89S52为核心,利用一对40 kHz压电超声传感器设计一款体积较小、价格低廉、精度较高、具有温度补偿、实时LCD显示和报警的超声波测距仪。1
    发表于 04-25 11:32

    利用超声波测距模块的程序

    利用超声波测距模块的程序
    发表于 07-27 20:59

    基于STM32超声波测距设计的合集

    和TFTLCD显示距离等参数。US-100带有温度传感器,对超声波的声速进行补偿,提高测量精度。超声波测距是一种典型的非接测量方式。超声波
    发表于 09-05 16:13

    超声波测距原理

    停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。这就是所谓的时间差测距法。超声波测距的原理是
    发表于 07-19 09:08

    超声波测距原理

    1.超声波测距原理超声波利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反
    发表于 07-21 07:01

    如何利用HC-SR04超声波测距模块去实现精确的直线测距

    超声波测距原理是什么?利用STM32驱动HC-SR04需要做好哪几个关键点?如何利用HC-SR04超声波
    发表于 10-20 07:28

    如何对超声波测距HC-SR04进行测试

    超声波测距HC-SR04的原理是什么?如何对超声波测距HC-SR04进行测试
    发表于 11-16 09:31

    如何使用超声波测距模块去读取源代码

    stm32是怎样使用中断的方式实现超声波测距?如何使用超声波测距模块去读取源代码
    发表于 11-24 08:08

    超声波测距的原理是什么

    1、测距原理超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射
    发表于 12-01 06:56

    如何利用现成的SysTick去实现HC-sr04超声波测距

    什么是HC-sr04超声波测距模块?HC-sr04超声波测距模块它是如何工作的?如何利用现成的
    发表于 12-02 08:10

    如何利用捕获中断实现超声波测距

    STM32 Cubemax(九) ——利用捕获中断实现超声波测距文章目录STM32 Cubemax(九) ——利用捕获中断实现超声波
    发表于 01-06 07:13

    超声波测距原理及简介

    超声波测距原理,超声波测距是什么?本文针对这些内容进行详细地分析阐述。
    发表于 11-07 15:37 1.1w次阅读

    超声波测距描述+程序

    超声波测距超声波测距超声波测距超声波
    发表于 11-19 14:07 39次下载

    超声波测距原理及超声波倒车雷达的设计

    汽车避撞技术首先需要解决的问题是汽车之间的安全距离。汽车与汽车之间的距离超过了这个安全距离,就应该能够自动报警,并采取制动措施。如何测定汽车之间的安全距离?目前一般采用的技术有三种:超声波测距
    发表于 11-15 16:38 89次下载
    <b class='flag-5'>超声波</b><b class='flag-5'>测距</b>原理及<b class='flag-5'>超声波</b>倒车雷达的设计