HC sr04:超声波测距传感器如何工作以及与Arduino的接口?
超声波是频率超过正常人类听觉范围(大于 20kHz)的高频声波。 一种类型的超声波传感器是 HC-SR04,它可以感应距离它 13 英尺的物体。在本文中,我们将向您展示传感器的工作原理以及与 Arduino 的接口项目。
与超声波相比的频率范围
HC SR04超声波测距传感器概述
- 硬件概述
一个 hc-sr04 超声波(美国)传感器包括两个超声波换能器;发射器和接收器。
发射器 (T) 和接收器 (R)
接收器等待并接收发射脉冲,而发射器将电信号转换为 40KHz 的超声波脉冲。
- 规格
规格包括:
尺寸 – 45 x 20 x 15mm
触发输入信号——10微秒TTL脉冲
测量角度——15°
测距精度——3mm
最小范围 - 2cm
最大范围 - 4cm
工作频率——40KHz
工作电压——DC 5V电源
Hc-sr04 超声波测距针
超声波传感器 HC-SR04 的引脚排列
我们将超声波传感器hc-sr04的引脚配置总结如下表。
引脚号 | 别针名称 | 引脚说明 |
1 | Vcc | 是传感器的供电引脚(5V供电电压)。 |
2 | 触发/触发 | 它用作输入引脚。始终保持高电平 10µs 以通过发送超声波开始测量。 |
3 | 回声 | 它充当输出引脚。回波引脚在一段时间内保持高电平,相当于超声脉冲返回 hc-sr04 所需的时间。 |
4 | 接地 | 它连接到系统的地。 |
HC-SR04超声波测距传感器的工作原理是什么?
Hc-sr04 通过产生大约 40K Hz 的超声波来工作,该超声波通过空气传播。如果超声波脉冲在其行进路径中遇到障碍物或物体,它会反弹回传感器。
超声波传感器的工作原理
产生超声波
首先,确保 trigPin 处于高电平状态 10 微秒,发送以声速传播的 8 周期超声波脉冲串。随后,echoPin 将在发送突发后变高。之后,echoPin 将等待或收听您要从物体反射的超声波。
如果没有对象存在,则 echoPin 将在 38 毫秒后进入低状态。
但是,如果有物体反射超声波脉冲,则 echoPin 会在 38ms 之前进入 Low 状态。
通过 Echo 引脚处于高电平状态的持续时间信息,我们可以计算出声波传播的距离。我们还将确定从 hc-sr04 到对象的距离。
距离 =(速度 X 时间)/2
借此;
时间 =echoPin 为高的时间量(假设为 2 毫秒)
速度 =声速(340m/s 或 340cm/s)
将结果除以二有助于测量声波在反弹之前到达物体所需的持续时间。
所以;
距离 =(速度 × 时间)/2 =(34cm/ms × 1.5ms) / 2 =25.5cm
现在传感器到物体的距离是 25.5 厘米。
Hc sr04 尺寸
HC-SR04传感器尺寸如下图:
HC-SR04 尺寸
但是,请注意,由于制造商不同,尺寸总是会有所不同。
Hc-sr04 连接到 Arduino
有多种方法可以连接您的传感器,包括使用 I2C、Raspberry Pi 和 Arduino。对于今天的项目,我们将使用 Arduino 板。
所需材料
- Grove 超声波距离传感器
- 格罗夫基地盾
- 面包板和跳线
- Arduino UNO 板
指南
连接硬件
- 首先将传感器连接到端口 D7 上基于 Grove 的屏蔽层。
- 其次,将基于 Grove 的扩展板插入 Arduino 板。
- 然后,使用 USB 数据线将 Arduino 连接到计算机。
引脚连接见下表。
Arduino UNO | HC-SR04超声波传感器 |
接地 | 接地 |
-3(或任何其他数字 I/O)引脚) | 回声 |
2(或任何其他数字 I/O)引脚) | 触发引脚 |
5V | Vcc |
HC-SR04 超声波传感器和 Arduino 接线图
配置软件
- 搜索 GitHub 网站并下载超声波传感器库 来自它。
- 接下来,将代码复制并粘贴到 Arduino IDE 中,然后您将在其中上传代码。
代码如下所示。
代码详解
首先定义 Echo 和 Trig 引脚,即 pin3 (echoPin) 和 pin2 (trigPin)。此外,我们需要一个整数变量来表示距离和一个长变量(“持续时间”)来了解传感器的行程时间。
此外,将 echoPin 定义为输入,而trip-in 将是输出。然后,开始将在串行监视器屏幕上显示结果的串行通信。
确保您有一个明确的 trigPin,以便您可以在循环期间将其设置为 LOW 状态约两微秒。稍后,将引脚的设置提高到十微秒的高状态以产生超声波。
接下来,有一个 pulseIn() 具有两个参数的功能键,即,
- 您要读取的脉搏状态(低或高),或
- Echo 引脚的名称。
使用该函数读取旅行时间,然后将值放入“duration”变量中。
我们将 echoPin 设置为高,因为 HC-SR04 传感器在从发射器传输 8 周期超声波脉冲后自动将其设置为高。因此,计时开始,但在接收到反射声波后,由于回声引脚变为低电平,计时停止。
最终,pulseIn() 函数以微秒为单位返回脉冲长度。
我们将使用前面讨论的公式来获得从这里开始的距离。因此,将持续时间乘以 0.034,然后将该值除以 2。
最后,打印出串行监视器上显示的最终距离值。
HC-SR04的应用限制
与其他低成本超声波传感器相比,我们认为 HC-SR04 传感器非常适合可用性和高精度。但是,传感器可能会带来一些挑战,如下面的示例所示。
- 首先,传感器可能很难检测到柔软、不规则的表面物体(例如毛绒玩具),因为这些物体会吸收但不反射声音。
- 其次,将 HC-SR04 传感器安装在设备的低位通常会导致地板反射声,而不是设备反射声。此外,物体可能太小,因此无法将足够的声音反射到 HC-SR04。
- 那么,如果固体物体的反射面角度较浅,声音就不会反射 HC-SR04。
- 最后,如果障碍物/物体与传感器之间的距离超过 13 英尺,则不会有声音反射。
结论
HC-SR04 是一种流行的传感器,易于连接、价格合理且功耗低,因此非常适合电池供电的设备。它具有广泛的应用范围,包括测量距离在 2cm 到 400cm 距离内的距离、测绘周围的物体等。
如果您想了解更多关于超声波传感器的信息,您可以联系我们。我们将非常高兴收到您的来信。
工业技术