障碍物检测适用于从初始位置移动到目标位置并避免其路径上有任何障碍物的任何机器人。检测障碍物的过程已应用于各种机器人,包括移动机器人和机械臂。在本教程中,您将学习如何 将HC-SR04传感器与Arduino一起使用 并确定在某些条件下传感器的检测范围。
不同的项目可能有不同的要求。在本教程的最后,您将拥有一个灵活的结构,可以在不同的机器人中使用,并可以添加更多的传感器,或者仅使用一个传感器,或者使用另一种类型的传感器(例如,红外传感器)。
如果您打算以高效且专业的方式构建高级机器人,那么这就是您可以开始的地方。
在开始连接传感器并编写第一行代码之前,请确保我们具有所有硬件部件。这是我用来编写教程的硬件列表:
- 1个Arduino UNO
- 1 X USB电缆
- 1个HC-SR04
- 1 X面包板
- 母对母/公对公/母对公跳线
1.使用Arduino读取HC-SR04输出
在本文的这一部分中,我将向您展示如何将一个HC-SR04传感器连接到Arduino并编写读取和转换传感器输出的Arduino草图。
目前,我使用USB电缆为Arduino UNO供电。个人计算机或笔记本电脑的5V USB端口可提供足够的功率来运行5V Arduino和三个超声波传感器。
以上设置仅用于连接和测试超声波检测系统。当传感器和Arduino板安装在移动机器人上时,整个检测系统将依靠电池运行。
1.1将传感器连接到Arduino
首先,让我们看一下HC-SR04规格:
- 工作电压:DC 5V
- 工作电流:15mA
- 工作频率:40KHz
- 范围:2cm至4m
- 测距精度:3mm
- 触发输入信号:10µS TTL脉冲
传感器的工作电压与Arduino 5V输出引脚相同–直流5V。超声波传感器的工作电流为15mA,即使将Arduino连接到计算机的USB端口,它也可以支持。 Arduino UNO的5V输出引脚适用于USB上的约400 mA,使用外部电源适配器时约900 mA。在这一步,我们将仅考虑这两个规格,并开始将传感器连接到板上。
对于连接,我使用母对公跳线,面包板,一个HC-SR04和一个Arduino UNO板。
连接方式:
- Vcc -> breadboard -> 5V
- Trig -> pin 3 (digital pin)
- Echo -> pin 2 (digital pin)
- GND -> breadboard -> GND

HC-SR04传感器连接到Arduino UNO
1.2编写传感器的代码示例
一旦传感器连接到Arduino板,我们就可以开始编写草图以读取输出并转换传感器的读数。为了编写草图,我使用了Arduino IDE。我喜欢使用简单的工具,并且不花时间在定制和配件上。目前,Arduino IDE在微控制器编程方面满足了我的需求。
在编写第一行代码之前,我们先概述一下超声波传感器的工作原理。
它会在空中传播声波(根据规格至少持续10us),如果有物体反射声波,则传感器会测量声波返回到接收器所花费的时间。为了计算传感器与检测到的物体之间的距离,我们考虑了传播时间和声音的速度。 阅读更多→