亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

树莓派上的 HC-SR04 超声波距离传感器

在之前的教程中,我们概述了温度传感、PIR 运动控制器以及按钮和开关,所有这些都可以直接插入 Raspberry Pi 的 GPIO 端口。 HC-SR04 超声波测距仪使用非常简单,但是它输出的信号需要从 5V 转换为 3.3V,以免损坏我们的树莓派!我们将在本教程中介绍一些物理和电子学,以解释每个步骤!

你需要什么:

HC-SR04

1kΩ电阻

2kΩ电阻

跳线

超声波距离传感器

声音由通过介质(例如空气)的振荡波组成,音高由这些波彼此的接近程度决定,定义为频率。只有部分声谱(声波频率范围)是人耳可以听到的,定义为“声学”范围。 Acoustic 以下的极低频声定义为“次声”,高于 Acoustic 的高频声称为“超声波”。超声波传感器设计用于使用超声波反射来感应物体的接近度或范围,类似于雷达,以计算传感器和固体物体之间反射超声波所需的时间。主要使用超声波是因为它对人耳来说是听不见的,并且在短距离内相对准确。您当然可以为此使用 Acoustic 声音,但是您会遇到一个嘈杂的机器人,每隔几秒钟就会发出哔哔声。 . . .

一个基本的超声波传感器由一个或多个超声波发射器(基本上是扬声器)、一个接收器和一个控制电路组成。发射器发出高频超声波,可从附近的任何固体物体上反弹。一些超声波噪声被传感器上的接收器反射和检测到。该返回信号然后由控制电路处理以计算被发送和接收的信号之间的时间差。这个时间随后可以与一些巧妙的数学一起用于计算传感器和反射物体之间的距离。

我们将在本教程中用于 Raspberry Pi 的 HC-SR04 超声波传感器有四个引脚:接地 (GND)、回波脉冲输出 (ECHO)、触发脉冲输入 (TRIG) 和 5V 电源 (Vcc)。我们使用 Vcc 为模块供电,使用 GND 将其接地,并使用我们的 Raspberry Pi 向 TRIG 发送输入信号,触发传感器发送超声波脉冲。脉冲波会从附近的任何物体反射回来,有些会反射回传感器。传感器检测这些回波并测量触发和返回脉冲之间的时间,然后在 ECHO 引脚上发送 5V 信号。

ECHO 将是“低”(0V),直到传感器在收到回波脉冲时被触发。一旦定位到返回脉冲,ECHO 在该脉冲持续时间内设置为“高”(5V)。脉冲持续时间是传感器输出超声波脉冲和传感器接收器检测到返回脉冲之间的全部时间。因此,我们的 Python 脚本必须测量脉冲持续时间,然后计算距离。

重要的。 HC-SR04 上的传感器输出信号 (ECHO) 额定为 5V。但是,Raspberry Pi GPIO 上的输入引脚的额定电压为 3.3V。将 5V 信号发送到未受保护的 3.3V 输入端口可能会损坏您的 GPIO 引脚,这是我们想要避免的!我们需要使用一个由两个电阻器组成的小型分压器电路,将传感器输出电压降低到我们的 Raspberry Pi 可以处理的水平。

分压器

分压器由串联连接到输入电压 (Vin) 的两个电阻器 (R1 和 R2) 组成,输入电压 (Vin) 需要降低到我们的输出电压 (Vout)。在我们的电路中,Vin 将是 ECHO,需要从 5V 降低到我们的 Vout 3.3V。

下面的电路和简单的方程可以应用于许多需要降低电压的应用。如果你不想学习技术点,只需抓住 1 x 1kΩ 和 1 x 2kΩ 电阻器。

在不深入数学方面的情况下,我们实际上只需要计算一个电阻值,因为分压比很重要。我们知道我们的输入电压 (5V) 和我们所需的输出电压 (3.3V),我们可以使用任何电阻组合来实现降低。我碰巧有一堆额外的 1kΩ 电阻,所以我决定在电路中使用其中一个作为 R1。

组装电路

我们将在此项目的 Raspberry Pi 上使用四个引脚:GPIO 5V [引脚 2]; Vcc(5V 电源),GPIO GND [引脚 6]; GND (0V Ground), GPIO 23 [Pin 16]; TRIG(GPIO 输出)和 GPIO 24 [引脚 18]; ECHO(GPIO输入)

1. 将四根公对母跳线插入 HC-SR04 上的引脚,如下所示:红色; Vcc,蓝色; TRIG,黄色;回声和黑色;地。

2. 将 Vcc 插入面包板的正极,将 GND 插入负极。

3. 将GPIO 5V [Pin 2] 插入正极,GPIO GND [Pin 6] 插入负极。

4. 将 TRIG 插入空白导轨,然后将该导轨插入 GPIO 23 [引脚 16]。 (如果需要,您可以将 TRIG 直接插入 GPIO 23)。我个人只是喜欢在面包板上做所有事情!

5. 将 ECHO 插入空轨,使用 R1(1kΩ 电阻)连接另一个空轨

6. 使用 R2(2kΩ 电阻器)将 R1 轨与 GND 轨相连。在两个电阻之间留出空间。

7. 使用 R1(1kΩ 电阻器)将 GPIO 24 [Pin 18] 添加到导轨。此 GPIO 引脚需要位于 R1 和 R2 之间

而已!我们的 HC-SR04 传感器已连接到我们的 Raspberry Pi!

使用 Python 进行感知

现在我们已经将超声波传感器连接到我们的 Pi 上,我们需要编写一个 Python 脚本来检测距离!

超声波传感器输出 (ECHO) 将始终输出低电平 (0V),除非它被触发,否则它将输出 5V(使用我们的分压器为 3.3V!)。因此我们需要设置一个GPIO引脚作为输出,触发传感器,一个作为输入,检测ECHO电压变化。

首先,导入 Python GPIO 库,导入我们的时间库(因此我们让 Pi 在步骤之间等待)并设置我们的 GPIO 引脚编号。

将 RPi.GPIO 导入为 GPIO

导入时间

GPIO.setmode(GPIO.BCM)

欲了解更多详情: 树莓派上的 HC-SR04 超声波距离传感器


制造工艺

  1. Raspberry Pi 温度记录器
  2. Raspberry Pi 上的温度监控
  3. Python 和 Raspberry Pi 温度传感器
  4. Raspberry Pi 气象站
  5. 树莓派的 DHT Tiny Breakout
  6. 传感器数据与 Raspberry Pi 微处理器的集成
  7. 超声波传感器 (HC-SR04) + Raspberry Pi
  8. 使用 Raspberry Pi 的运动传感器
  9. Raspberry Pi 土壤湿度传感器
  10. JAVA 中的树莓派数字霍尔传感器
  11. Raspberry Pi 温度和光传感器
  12. Raspberry Pi 传感器和执行器控制