机器人技术中的超声波传感器

当我第一次对机器人技术感兴趣时,我不知道从哪里开始。我没有’不知道要使用哪个传感器。我没有’不知道如何在Arduino或Raspberry Pi上使用超声波传感器。

我希望能有一个清单详细列出可用于机器人技术并与Arduino和Raspberry Pi板兼容的超声波传感器。

在此页面上,我们对其进行了简要概述。

如果你认为我’我们遗漏了重要的内容,请在评论中给我留下笔记,或给我发送电子邮件。

该页面仍在进行中,将来可能会发生变化!本页面最后编辑于2020年5月21日

当我们要在极端条件下检测障碍物时,我们会在机器人技术中使用超声波传感器,因为该传感器不受灰尘,湿气和灰尘的影响。另外,由于光线不会影响超声波传感器,因此可以在黑暗环境中使用超声波传感器。’s detection ability.

在机器人技术中,超声波传感器用于以下应用中:

  • 目标检测
  • 检测物体的位置
  • 追踪物体

我们看到了超声波传感器的优点。我们将进一步了解使用声波检测物体的传感器的局限性。

超声波传感器的感测精度可能会受到软质材料,环境温度以及宽频率范围噪声的影响。我们可以通过补偿环境来提高传感的准确性’温度和过滤传感器’s output.

超声波传感器列表

HC-SR04

HC-SR04超声波传感器

HC-SR04超声波传感器



  • 测量距离:2到400厘米之间;
  • 输入:触发信号10us TTL脉冲;
  • 输出:回波信号输出TTL电平信号,与范围成正比;
  • 更新速率:40KHz;
  • 测量角度:15度;
  • 测距精度:3mm;
  • 电源:5V,峰值电流为15mA;
  • 购买链接: 亚马孙;
  • HC-SR04 数据表;

HC-SR04是一种廉价的传感器,非常易于与Arduino等微控制器板或运行Raspberry Pi等运行Linux的单板计算机一起使用。它是迄今为止在机器人技术和自动化项目中最常用的超声传感器。

  • 带有Arduino和millis()的HC-SR04的检测范围 –这是一个入门教程,需要HC-SR04传感器和Arduino板。本教程将教您如何将传感器连接到Arduino并读取传感器返回的数据。
  • Arduino – HC-SR04超声波距离传感器 –通过本教程,您将学习如何使用“Ultrasonic.h”库读取传感器返回的数据。只需一行代码,您就可以读取首选测量单元中传感器返回的数据。
  • Raspberry Pi上的HC-SR04超声波距离传感器 – HC-SR04可以与任何版本的Raspberry Pi板一起使用。在本教程中,您将学习如何将传感器连接到Pi,以及如何使用Python显示传感器测量的距离。
  • RPi:HC-SR04超声波传感器小型项目 –如果要构建IoT应用程序,则需要Internet连接。将Arduino板直接连接到Internet是一种解决方案,但是根据项目需求,通常不是最佳的解决方案。在本教程中,您将获得一个示例,说明如何使用Arduino和Raspberry Pi开发板的库返回HC-SR04传感器检测到的距离。
  • 使用超声波传感器测量距离| Pi4J | JAVA |皮 –如果需要自动化,Java和IoT,在本教程中,将提供一个示例,说明如何通过Java访问Raspberry Pi的全部I / O功能并读取超声波传感器返回的距离。
  • 使用HCSR04超声波传感器连接ESP8266 nodeMCU –对于IoT应用,ESP8266模块比Arduino和Raspberry Pi便宜得多。 ESP8266 nodeMCU具有比Arduino或Raspberry Pi更大的容量,它是一块板,可以连接到互联网以读取超声波传感器返回的值。在本教程中,您将学习将HC-SR04连接到nodeMCU所需的步骤,并编写读取传感器返回的值所需的脚本。
  • 提高超声波距离传感器的精度 –有一种简单的方法可以提高传感器的精度。从本教程中,您将学习如何应用环境温度来计算传感器与物体之间的距离。在本教程中,MagicByCalvin用几句话描述了物理现象,该现象可提高传感器检测到的距离的测量精度。除超声波传感器外,还将包括温度传感器。
  • 消除超声波声纳数据中的脉冲噪声 –可以提高HC-SR04传感器的精度。考虑到环境温度,我们可以提高测量精度。除了温度补偿外,还可以将脉冲噪声降低方法应用于超声声纳数据。本教程将教您如何实现中值滤波器以消除超声波声纳数据中的脉冲噪声。

视差PING)))

视差PING)))

视差PING)))



  • 测量距离:3到300厘米之间;
  • 输入触发:正TTL脉冲,最小2 µs,典型值5 µs;
  • 回波脉冲:正TTL脉冲,最小115 µs至最大18.5 ms;
  • 更新速率:40 kHz;
  • 测量角度:20度;
  • 电源:5V,峰值电流为35mA;
  • 购买链接: 视差;
  • 视差PING))) 数据表;

PING)))与其他传感器的区别在于使用单个引脚进行触发和回波。例如,HC-SR04使用单独的引脚进行触发和回波。传感器可以检测3厘米至3米范围内的物体。

PING)))传感器与Arduino和Raspberry Pi板兼容。在下面,您可以找到两个开发板开始使用PING)))所需的教程和资源。

  • Ping超声波测距仪 –这是PING的基本教程))。从本教程中,您将学习如何使用Arduino UNO板和多条电流线为传感器供电并读取传感器返回的值。
  • Raspberry Pi和视差Ping))) – Raspberry Pi也可以读取Ping传感器返回的值。在本教程中,您将找到有关将传感器直接连接到Raspberry Pi板上并编写Python脚本以读取传感器返回的值的说明。
  • 校准PING))) –与其他超声波传感器一样,PING传感器)))可能返回错误的值。由于各种原因会出现错误,例如噪声或电源电压不恒定。通过校准,传感器操作中可能发生的错误不能减少到零。但是它可以大大减少可能导致返回错误值的外部影响。

麦博特I2CXL-MaxSonar-EZ4

麦博特I2CXL-MaxSonar-EZ4

麦博特I2CXL-MaxSonar-EZ4



  • 测量距离:0至765cm之间;
  • 沟通:I2C;
  • 分辨率:1cm;
  • 更新速率:42 kHz;
  • 电源:用于3.3V操作时为2.7mA(峰值50mA),用于5V
    操作为4.4mA(峰值100mA);
  • 购买链接: 亚马孙;
  • 麦博特I2CXL-MaxSonar-EZ4 数据表;

Maxbotix已经推出了全系列的超声波传感器,但我仅提及一种传感器-I2CXL-MaxSonar-EZ4。

它的分辨率为1厘米,可以检测到最大765厘米距离的物体。它是一种主要为室内应用而设计的传感器,具有较高的噪声容限。

在下面,您将找到一系列将EZ4与Arduino和Raspberry Pi以及Pixhawk控制器一起使用的教程。

  • 如何在Arduino上使用超声波传感器 –在Maxbotix的本教程中,您可以学习如何将EZ4传感器连接到Arduino并读取传感器返回的值。在本教程中,您将找到每个代码的说明以及将传感器连接到模拟或数字引脚上的Arduino板的步骤。
  • 在Arduino上使用I2C?MaxSonar –可以使用I2C协议将超声波传感器连接到Arduino。在本教程中,使用“ SoftI2CMaster.h”库。该库适合与MaxSonar传感器一起使用。
  • 超声波传感器与Pixhawk或Ardupilot Mega(APM)的接口 – Pixhawk是一款用于多旋翼直升机和机器人自主应用的控制器。这样的控制器需要传感器以能够检测特定路线上的障碍物。在本教程中,Maxbotix传感器用于允许自主无人机降落在地面上。即使它是为室内应用设计的超声波传感器,该传感器也可以在室外应用中使用。
  • 将Raspberry Pi与超声波传感器连接以读取串行数据 –在本教程中,您将找到将EZ4连接到Raspberry Pi并读取传感器返回的值的说明。在Raspberry Pi上运行Python脚本以读取传感器和检测到的障碍物之间的距离。

URM37

URM37

URM37



  • 测量距离:2至800cm之间;
  • 通讯:RS232或TTL电平输出电平;
  • 分辨率:1cm;
  • 准确度:1%;
  • 电源:3.3V? 5.5V,峰值电流为20mA;
  • 购买链接: 东风机器人;

URM37 V4.0是集成(除了触发和回声之外)温度传感器的传感器,用于更精确的测量。该传感器可用于检测2到800厘米之间的物体,分辨率为1厘米。

研华SRF04 / SRF05

研华SRF04 / SRF05

研华SRF04 / SRF05


  • 测量距离:SRF04在3至300厘米之间// SRF05在1至400厘米之间;
  • 输入触发–最少10uS。 TTL电平脉冲;
  • 回声脉冲–TTL电平正信号,宽度与范围成正比;
  • 分辨率:3-4cm;
  • 更新速率:40 kHz;
  • 电源:5V,峰值电流为50mA;
  • 购买链接:RobotShop SRF04 || SRF05;
  • 研华SRF04 / SRF05 数据表;

以Devantech为名的是两个超声波传感器:SRF04和SRF05。这两个传感器之间只有一个明显的区别–SRF04的范围在3厘米至3米之间,SRF05的范围在1厘米至4米之间。

两个传感器的分辨率相同,均为3-4厘米。 SRF传感器的设计和操作模式与HC-SR04传感器非常相似。

在下面,您可以找到一个教程,以阅读Arduino开发板中的传感器检测到的值。

  • SRFxx声波测距仪阅读器 –在本教程中,您将学习如何使用“Wire.h”库返回由SRF传感器测量的距离。通过I2C串行协议将传感器连接到Arduino板。

8条评论 » Write a comment

  1. 如果我们将两个HC-SRO4传感器彼此面对放置,它们会互相影响吗?

    请尽快回复

    先感谢您

    • 你好,

      是的,两个超声波传感器可能会干扰,这样您就必须等到第一个传感器ping操作完成后再开始读取第二个传感器的读数。

  2. 我对视差超声波传感器有疑问。使用VEX微控制器时,您可以视差吗“ping”传感器?如果是这样,它们如何接线?

    使用VEX超声波,我将两组电线(输入/输出)插入两个数字端口,并且我已经弄清楚了如何对它们进行编程以使机器人正常工作。但是当我尝试使用视差时,只有一套’我不太确定如何编写这些程序。

    当我连接视差并将其插入数字端口1时,绿灯亮起,但我无法使它停止我的机器人。然后我尝试使用“Y”从一个视差线束将两根线插入端口1和2…一个亮绿色,然后其他什么都不亮。然后,我尝试使用2个视差传感器,将它们各自的电线插入端口1和2。端口1的Ping点亮,但端口2的Ping 2却不点亮。

    我问的原因是我大约有30个视差ping且VEX超声传感器很少。

    任何帮助或指导将不胜感激。哦我’在robotC中为VEX编程(不太确定是否有区别)。

    感谢您的时间!

    戴夫

  3. 你好
    I’在做住宅水箱水位控制工程。我决定使用价格便宜的超声波传感器来测量水位。请建议我应该使用哪种类型的超声波传感器?超声波传感器会检测水位吗?

    • 超声波传感器取决于温度和湿度。我认为这不是用超声波传感器测量水位的最佳解决方案,相反,您可以尝试使用红外线接近传感器

  4. 可以这么说,我们外面的桌子上有东西,周围有超声波传感器。哪种传感器最适合用来检测它,对它进行编程以让我们知道是否存在某种东西将有多困难?

  5. 嗨,您好,
    我想知道是否可以使用超声波传感器仅接收超声波信号?
    例如,如果从电源发出超声波信号,我该如何使用这些类型的传感器接收这些信号,然后根据时间和幅度绘制它们?

发表回覆 进入机器人 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *