×

将超声波测距模块HC SR04与Arduino连接

消耗积分:0 | 格式:zip | 大小:0.68 MB | 2022-11-11

张国厚

分享资料个

描述

嘿,怎么了,伙计们!来自 CETech 的Akarsh。

我的这个项目有点简单,但和其他项目一样有趣。在这个项目中,我们将连接一个 HC-SR04 超声波距离传感器模块。该模块的工作原理是产生超出人类可听范围的超声波,并根据产生的波的传输和接收之间的延迟计算距离。

在这里,我们将把这个传感器与 Arduino 连接起来,并尝试模仿一个停车辅助系统,该系统会根据与后面障碍物的距离产生不同的声音,并根据距离点亮不同的 LED。

现在让我们进入有趣的部分。

您可以以便宜的价格制造 10 块优质 PCB,并将其运送到您家门口。您还将获得首次订单的运费折扣。将您的 Gerber 文件上传到PCBWAY上,以便以高质量和快速的周转时间制造它们。查看他们的在线 Gerber 查看器功能。使用奖励积分,您可以从他们的礼品店获得免费的东西。

关于HC-SR04超声波测距模块

超声波传感器(或换能器)的工作原理与雷达系统相同。超声波传感器可以将电能转换为声波,反之亦然。声波信号是以18kHz以上的频率传播的超声波。著名的 HC SR04 超声波传感器产生 40kHz 频率的超声波。该模块有 4 个引脚,分别是 Echo、Trigger、Vcc 和 GND

pYYBAGNtnJCAMcEMAABV9M_6yX4823.jpg
 

通常,微控制器用于与超声波传感器进行通信。为了开始测量距离,微控制器向超声波传感器发送触发信号。对于 HC-SR04 超声波传感器,此触发信号的占空比为 10µS。触发时,超声波传感器会产生八个声波(超声波)脉冲串并启动时间计数器。一旦接收到反射(回声)信号,定时器就会停止。超声波传感器的输出是一个高脉冲,其持续时间与发射的超声波脉冲串和接收的回波信号之间的时间差相同。

微控制器使用以下函数将时间信号解释为距离:

距离(cm)=回波脉冲宽度(微秒)/58

pYYBAGNtnJKAMd2sAABg5PwMNaQ165.jpg
 

理论上,可以使用TRD(时间/速率/距离)测量公式计算距离。由于计算出的距离是从超声波换能器到物体以及返回换能器的距离,因此它是双向行程。通过将此距离除以 2,您可以确定传感器到对象的实际距离。超声波以声速传播(20°C 时为 343 m/s)。物体和传感器之间的距离是声波传播距离的一半,可以使用以下函数计算:

距离(cm)=(所用时间 x 声速)/2

做连接

 

对于这一步,所需材料是 - Arduino UNO、HC-SR04 超声波距离传感器模块、LED、压电蜂鸣器、跳线

连接将按以下步骤完成:

1) 将 Sensor 的 Echo Pin 连接到 Arduino 的 GPIO Pin 11,将 Sensor 的 Trigger Pin 连接到 Sensor 的 GPIO Pin 12 的 Arduino UNO 和 Sensor 的 Vcc 和 GND Pin 到 Arduino 的 5V 和 GND。

2)取 3 个 LED 并将 LED 的阴极(通常是较长的腿)分别连接到 Arduino 的 GPIO 引脚 9、8 和 7。将这些 LED 的阳极(通常是较短的腿)连接到 GND。

3)拿压电蜂鸣器。将其正极引脚连接到 Arduino 的 GPIO 引脚 10,负极引脚连接到 GND。

pYYBAGNtnJWAOuzyAAD5k1zUuVQ83.jpeg
 

这样,项目的连接就完成了。现在将 Arduino 连接到您的 PC 并继续下一步。

编码 Arduino UNO 模块

poYBAGNtnJiAXtVsAAFhc3J-log671.jpg
 

在这一步中,我们将在我们的 Arduino UNO 中上传代码以测量附近任何障碍物的距离,并根据该距离发出蜂鸣器并点亮 LED。我们还可以在串行监视器上看到距离读数。要遵循的步骤是:

1) 从这里移动到项目的 GitHub 存储库

2) 在 Github 存储库中,您将看到一个名为“sketch_sep03a.ino”的文件。这是项目的代码。打开该文件并复制其中编写的代码。

pYYBAGNtnJ2ATATlAADiQ3UxmD0797.jpg
 

3) 打开 Arduino IDE 并选择正确的板子和 COM 端口。

4) 将代码粘贴到您的 Arduino IDE 中并将其上传到 Arduino UNO 板。

并且这样,这个项目的编码部分也完成了。

玩耍的时间到啦 !!

pYYBAGNtnJ-AOemoAAFzm2Li_m0325.jpg
 

上传代码后,您可以打开串行监视器以查看来自超声波传感器模块的距离读数,读数会在固定间隔后不断更新。您可以在超声波模块前面放置一些障碍物,观察那里显示的读数变化。除了串行监视器上显示的读数外,连接到蜂鸣器的 LED 和蜂鸣器还会指示不同范围内的障碍物,如下所示:

1) 如果最近的障碍物的距离超过 50 厘米。所有 LED 将处于关闭状态,蜂鸣器也不会响起。

2) 如果最近的障碍物的距离小于或等于 50 厘米但大于 25 厘米。然后第一个 LED 将亮起,蜂鸣器将发出延迟 250 毫秒的哔声。

poYBAGNtnKKAWH8sAADSFW1pKxw04.jpeg
 

3) 如果最近的障碍物的距离小于或等于 25 厘米但大于 10 厘米。然后第一个和第二个 LED 将亮起,蜂鸣器将发出延迟 50 毫秒的哔声。

4) 如果最近的障碍物的距离小于 10 厘米。然后三个 LED 灯全部亮起,蜂鸣器发出连续的声音。

这样本项目就会感知距离,并根据距离范围给出不同的指示。

希望你喜欢这个教程。


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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !