防水超声波测距模块

8

为了测量臀部的水位,我决定尝试使用防水的超声波测距模块。它的工作方式与我之前使用的标准超声模块相同 使用Python进行超声波测距 tutorial.

我订购的防水超声波传感器如下所示:

防水超声波传感器

它包括 :

  • 防水换能器
  • 电缆
  • 控制板
防水超声波传感器
防水超声波传感器

控制板具有与HR-SR04模块相同的四个连接:

  • 触发
  • 回声
  • 5V
  • 地面

模块 provides measurements within a range of 25cm –450厘米。换能器本身看起来像在汽车倒车传感器系统中找到的设备,而不是经典HR-SR04模块的双换能器布置。

连接到Pi

模块 can be 功率ed from the Pi’s 5V和接地引脚。我在Pi上使用了Pin 2和Pin 6’s 通用输入输出 header.

模块上的输入引脚称为“trigger” as it is used to 触发 the sending of the 超音波 pulse. It works just fine with a 3.3V signal from the 通用输入输出 so I connected the 触发 directly to Pin 16 (GPIO23).

分压器模块’的输出称为“echo” and needs a bit more thought. The output pin is low (0V) until the module has taken its distance measurement. It then sets this pin 高 (+5V) for the same amount of time that it took the pulse to return. So our script needs to measure the time this pin stays 高. 模块 uses a +5V level for a “high” but this is too 高 for the inputs 上 the Pi which 上ly like 3.3V. In order to ensure the Pi 上ly gets hit with 3.3V we can use a basic voltage divider. This is formed with two resistors.

如果R1和R2相同,则将电压分成两半。这将给我们2.5V。如果R2是R1值的两倍,那么我们得到3.33V,这很好。因此,理想情况下,您希望R2在R1和R1 x 2之间。在我的示例电路中,我使用了330和470欧姆电阻。另一种选择是使用1K和1K5值。

这是我的最终电路图。我选择了GPIO23和GPIO24,但是您可以使用GPIO接头连接器上的17个可用GPIO引脚中的任何一个。只要记住要相应地更新Python脚本即可。

超声波模块电路

超声波模块电路

我使用了一块面包板来创建分压器:

防水超声波传感器

白线连接到Echo引脚,紫线连接到GPIO24,蓝/黑线连接到地。忽略蓝色电阻,因为在这种情况下不使用它们。

蟒蛇脚本

为了测试模块,我使用了与以前的超声波传感器文章相同的脚本。尽管这次我做了一些改进。

您可以下载并尝试两个示例Python脚本。

上ic_1.py
一个脚本以读取单个读数并以厘米为单位显示结果。

超声波_2.py
一个脚本,可以连续读取并以厘米为单位显示结果。

您可以使用以下命令将它们直接下载到您的Pi:

wget //bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/ultrasonic_1.py

和:

wget //bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/ultrasonic_2.py

下载后,可以使用以下命令运行它们:

蟒蛇 上ic_1.py

和:

蟒蛇 超声波_2.py

如果已安装,脚本也应在Python 3下运行:

蟒蛇3 上ic_1.py

您可以使用任何想要修改Python脚本的GPIO引脚。

声音的速度

用于查找距离的计算取决于声音的速度。这随温度而变化,因此我更新了这些脚本以根据定义的温度计算要使用的正确值。您可以根据需要更改此值,也可以使用温度传感器动态地对其进行测量。

水But

我喜欢大屁股,我不能撒谎。一世’m在铺设一些混凝土以形成更适合我的水龙头的过程中,但是一旦安装好,我将把该传感器固定在其中一个的盖子上。一世’我会写一篇新的文章,详细说明它,但是最有可能是明年的春季项目。

准确性

以下是有关准确性的一些要点:

  • 在没有其他附近物体的固体平面上可以获得更好的读数。传感器发出的脉冲形成“cone”因此任何阻碍方式的操作都会影响结果。
  • 距离测量的精度取决于时间。 的Linux下的Python对于精确的时间安排不是理想的选择,但是对于一般的混乱工作就可以了。为了提高准确性,您需要开始着眼于使用C。
  • 配置了GPIO后,模块需要一些时间才能准备好进行第一次读取,因此我在脚本开始处添加了0.5秒的延迟。

购买此防水超声波传感器

这是链接到 防水超声波模块测距传感器 我从eBay订购。这些设备可从其他卖家那里购买,您可以通过以下方式查看选择 在eBay上搜索“防水超声波模块传感器”.

分享。

8条留言

    • I’ve更新了帖子,以包含指向我从eBay订购的传感器的链接。该设备的范围是4.5m,但假定存在’周围任何会产生声波反射的杂物。我测试了大约2m。

  1. 如果将系统浸入水中(使传感器靠近)在水下超过半小时,该系统是否可以工作?(用于AUV的导航)

  2. 马特,我不是电气工程师,但我喜欢创造新事物。我想知道这样的传感器是否可以与我的船上的PI一起使用,以在夜间识别物体。例如,离码头或另一条船越来越近。

    • 在有限的范围内,它可能会起作用。确保唯一的方法是对其进行测试。它与停车传感器不太相似。

  3. 这很棒–您是否认为将其装在PVC管的盖中会有用吗?随着水在管道中的上升/下降而向下射水?还是您认为PVC侧面会产生干扰?一世’m thinking 4″ dia max pipe – ~5′ in length.

    So it sounds too that the sound will 回声 off water? Or would I need a float to provide a hard surface to 回声?

    I’对于任何Raspberry产品来说都是全新的,但我确实需要一个价格更便宜的传感器来监控流水平。以为我’d将一条pvc管道扎到驱动到流化床中的T形柱上。添加一个装有传感器组件的盖(以某种方式密封)。问题是,我’d需要在冬季(寒冷,潮湿的环境)进行此操作。电池供电… hrmm Think that’s even possible? I’d喜欢尝试一下。

    感谢您的网站!

    • 管道的侧面可能引起反射。但是,它们将是相当一致的。距离测量将不正确,但这不会’只要能在设定的水位下给您带来可预测的结果,就可以了。唯一可以确定的方法就是尝试一下!

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.