文章目录
使用 HC-SR04 超声波距离传感器可以实现测距的功能,该传感器可以测量最远 13 英尺内(约为 3.96 米)的物体范围。它们具有低功耗(适用于电池供电的设备),价格低廉,易于连接以及在业余爱好者中疯狂流行的特点。另外,它甚至看起来很酷,就像一双 Walle 机器人的眼睛。

一、HC-SR04 硬件概述
HC-SR04 超声波距离传感器的核心是两个超声波传感器。一个用作发射器,将电信号转换为 40 KHz 超声波脉冲。一个是接收器,监听发射后被障碍物反弹回来的超声波。如果接收到返回的超声波,它将产生一个输出脉冲,其宽度可用于确定脉冲传播的距离。
1. 技术规范(Technical Specifications)

2. HC-SR04 超声波传感器引脚

VCC为 HC-SR04 超声波传感器供电,一般接 5V 电压。GND是接地引脚。
Trig (Trigger) 引脚用于触发超声波脉冲,通过将该引脚设置为HIGH(高)10µs,传感器启动超声波发射。当发送超声波脉冲串时,Echo引脚变高,并保持高电平,直到传感器接收到回声,然后变低。通过测量Echo引脚保持高位的时间计算距离。
二、HC-SR04 超声波距离传感器如何工作?
当Trig引脚设置为高电平达 10µs 时,超声波距离传感器开始工作。随后传感器以 40KHz 发送八个超声波脉冲。这八个脉冲模式是专门设计的,使得接收器可以将发射的超声波与环境噪声区分开来。这八个超声波脉冲在远离发射器的空气中传播。同时,Echo引脚变为高电平,以接收回波返回信号。如果这些脉冲没有被反射回来,Echo信号就会超时,并在 38ms 后变为低电平。因此,38ms 的脉冲表示在传感器的范围内没有障碍物。

如果这些超声波脉冲被反射回来,那么一旦接收到信号,Echo引脚就会变低。这会在Echo引脚上产生一个宽度从 150µs 到 25ms 不等的脉冲,具体取决于接收信号所需的时间。

三、距离计算
接收脉冲的宽度用于计算与反射物体的距离。这可以用我们在中学就学到的距离-速度-时间方程来计算。假设我们在传感器前面有一个未知距离的物体,并且我们在Echo引脚上接收到 500µs 宽度的脉冲。为此,我们将使用以下等式:
D i s t a n c e = S p e e d ∗ T i m e Distance = Speed * Time Distance=Speed∗Time
时间值即 500µs,速度是声速,速度为340 m/s。为了计算时比较贴合我们的常用单位,我将声速的单位转换为 cm/µs,也就是为 0.034 cm/μs。那么具体计算过程如下:
D i s t a n c e = 0.034 c m / µ s ∗ 500 µ s Distance = 0.034 cm/µs * 500 µs Distance=0.034cm/µs∗500µs
但是还没有结束!请记住,回波脉冲表示信号被发送和反射回来所需的时间。因此上述公式得到的结果还需要除以 2,才是正确的距离。
D i s t a n c e = ( 0.034 c m / µ s ∗ 500 µ s ) / 2 Distance = (0.034 cm/µs * 500 µs) / 2 Distance=(0.034cm/µs∗500µs)/2
用上述公式计算,我们知道物体距离传感器 8.5 厘米。
四、与 OrangePi ZERO 2 接线并用代码实现测距
1. 硬件接线
了解了 HC-SR04 超声波传感器的工作原理后,就可以将 HC-SR04 连接到 OrangePi ZERO 2 上了。将VCC引脚连接到 OrangePi ZERO 2 上的5V引脚,将GND引脚连接至 OrangePi ZERO 2 上的GND引脚,将Trig引脚接到 26 Pin 引脚的 11 号引脚,将Echo引脚接到 26 Pin 引脚的 13 号引脚。
具体接线如下图所示。

文章详细介绍了HC-SR04超声波传感器的工作原理、接线方式、与Linux系统集成的代码示例,以及在OrangePiZERO2上的应用,同时讨论了其使用限制和潜在问题。
最低0.47元/天 解锁文章
220

被折叠的 条评论
为什么被折叠?



