问题标签 [arduino-ultra-sonic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
14 浏览

while-loop - 如何将 RFID 和超声波距离传感器中的多进程写入一个脚本?

如何在树莓派、python3.7 中编写多进程程序,因为我希望它是 HC-SR04 和 FTDI 到一个脚本中。我有详细的脚本。但后来我不能做任何循环,或者它能够运行但在检测到距离后却无法顺利检测到我的 FTDI 阅读器。(RFID-coil-tag 将被扫描并显示图像)

我需要一些帮助。以下是一些详细信息:

  • 端口 = ttyUSB0
  • 5 个不同的图像 = cv2.imread(path)
  • 5个不同的线圈标签=在“str”中打印
  • GPIO.setmode(GPIO.BOARD)
  • PIN_TRIGGER = 7
  • PIN_ECHO = 11
0 投票
1 回答
60 浏览

c - 如何从铜网应用程序(coap 协议)上的超声波传感器获取输入值

我不能在铜中使用“GET”。我知道超声波传感器不能像灯一样设置(二进制数据)。但我只想了解我所做的 if 参数

这是完整的代码

0 投票
1 回答
50 浏览

arduino - 超声波传感器始终显示相同的距离

我试图建立一个超声波传感器并按照本教程进行操作:https ://www.thestrongestlink.nl/2020/05/31/ultrasonic-sensor-for-the-jetbot/#comment-90

在下图中,您可以看到我的接线。在此处输入图像描述

我将教程中的代码上传到我的 Feather M0。但是当我启动软件时,显示屏总是显示 175 厘米(有时会在 174 到 176 之间波动)。

所以接下来我试图找出问题所在。我测量了电压:在 VCC 引脚处为 5V,但在 TRIG 和 ECHO 处没有电压。我还使用了另外两个超声波传感器来查看一个是否损坏,但总是同样的问题。

我不知道为什么这两个引脚没有电压,也不知道下一步该怎么做或问题出在哪里。

你们中有人知道该怎么做或可能是什么问题吗?谢谢

0 投票
0 回答
26 浏览

arduino-ultra-sonic - 可以访问原始回波信号的超声波传感器

我想进行一个实验,该实验需要具有访问原始回波信号能力的廉价防水超声波传感器。但是,也许我在市场上找不到这样的产品。目前,像JSN-SR04T这样的传感器非常流行,但它只能访问回波的传输时间。原始信号已被处理,我无法得到它。

似乎大多数公司只想为传感器提供测距能力而不是其他公司,但我的项目高度依赖获取原始数据。供您参考,我知道 Sonar 可能符合我的预期,我已经购买了一台。但是价格太贵了,我不需要这么好的一个。

所以我想知道你们是否知道一些传感器可以实现它?最坏的情况是我必须破解当前电路,这将花费太多无意义的时间。

编辑:有些公司确实提供了解决方案,它只是具有电路的模拟输出。我稍后会更新性能。

0 投票
1 回答
292 浏览

ros - ROS - 将超声波数据添加到 range_sensor_layer 的问题

我需要一些帮助来解决我在将超声波传感器添加到已经配备了 RPlidar 的机器人(松散地基于 Linorobot)时遇到的问题。硬件/软件:带有 Ubuntu 16.04.6 LTS、ROS 动力学、Teensy、2 Nano 的 Raspi3B。

机器人仅使用激光雷达就可以正常工作,但我需要能够正确检测玻璃和一些反射表面,所以我添加了超声波传感器。硬件和微控制器(rosserial)部分似乎工作正常,我怀疑这是我的错误,可能与命名空间或转换帧有关......或者我可能错过了一些巨大的东西。我检查并重新检查了在线教程、示例和其他与此类似的问题,但我无法确定罪魁祸首。

执行启动文件后,我收到标准消息(与尝试设置超声波传感器之前相同),另外:

我想这很好。不幸的是,从那一刻起,我得到了(当然,数字越来越高):

这是一条传感器消息(来自“rostopic echo /ultrasound_front”):

所以,主题发布了,按摩应该没问题...

我的 costmap_common_params.yaml:

我的 global_costmap_params.yaml:

我的 local_costmap_params.yaml:

还有我的准系统 URDF:

谢谢!

收到消息后进行编辑
,“rostopic hz /ultrasound_front”给出:

等等。MCU 代码中的发布间隔为 250ms。

“rostopic echo /ultrasound_front”中的“max_range:1.0”已得到纠正(在原始 MCU 代码中是一个错误),行为没有改变。我修改了上面的输出以反映当前版本。

按摩开始后,“rostopic info /ultrasound_front”给出:(谢谢@BTables!)

0 投票
1 回答
47 浏览

arduino - 如何处理不稳定的超声波传感器值

为我的猫建造一个带自动门的便便箱。

我正在使用带有 Arduino mega 的 HC-SR04 超声波传感器。

我在封闭的盒子里有一个传感器(感应我的猫是否被卡在里面,或者当猫在里面时保持打开状态)

内部传感器在大多数情况下会波动 67-68 厘米,但是随机它会抛出一个明显小于 50 厘米的值,在我的程序中,它被设计为打开,因为它通过了“没有东西在里面”的阈值,并且因为这是我的门一直开着。我该如何解决这个问题。

我脑海中唯一的解决方案是:

  • 在数组中添加大约 5-10 组值并取平均值(因为它的扫描速度足够快)

还有其他解决方案吗?谢谢 :)

0 投票
0 回答
19 浏览

timer - 如果 HCSR04 传感器检测到障碍物-arduino/C,则在特定秒内切换继电器

我正面临一种情况。如果 HCSR04 超声波传感器连续 5 秒遇到障碍物,我想将继电器切换 20 秒计时。但如果障碍物在 5 秒后移除,则继电器应断开,计时器应复位。
我正在使用 newping.h 来感应以厘米为单位的物体。使用 int hcsr04Distance = hcsr04.ping_cm()。但它不一致。任何人都可以帮助代码吗?

0 投票
1 回答
38 浏览

arduino - 如何设置伺服在1个条件下只旋转一次

我想用360伺服和超声波传感器做一个门,这里我用if else。当超声波条件 >= 10 cm 时,舵机应向右旋转一圈 5 秒,反之亦然。但是当它达到> = 10 cm 伺服器继续旋转而不停止的条件时,如何让它停止1 圈?我还需要超声波传感器的距离数据来显示。我是这方面的初学者,我将非常感谢您的帮助。

这是我的代码:

0 投票
0 回答
26 浏览

arduino - Arduino Nano 33 BLE 和超声波距离传感器

我刚买了一个 Arduino Nano 33 BLE ( https://store.arduino.cc/products/arduino-nano-33-ble-with-headers )。我想从 DYPA02YYxx 传感器(https://github.com/riteshRcH/waterproof_small_blind_ultrasonic_sensor_DYP-A02YYxx_v1.0/tree/master/photos)读取超声波距离测量值。

以前,我将 Arduino Nano 用于相同目的,并使用了完美运行的代码:https ://github.com/riteshRcH/waterproof_small_blind_ultrasonic_sensor_DYP-A02YYxx_v1.0/blob/master/code/arduino/DYPA02YYUM_v1_arduino_uno_code/DYPA02YYUM_v1_arduino_uno_code.ino

我的主要问题是 Arduino Nano 33 BLE 上没有 SoftwareSerial.h 可用。因此,我不知道应该为四根线使用哪个引脚并触发测量。

我在这里尝试了建议,但没有运气:

当我调用它来触发测量时,这段代码卡住了。似乎 println 是一个阻塞调用。

我也试过这个来触发但没有效果:

它应该是一个简单的 UART 通信。我做错了什么?

0 投票
0 回答
12 浏览

c++ - 对于我的 Arduino 超声波传感器电路,我需要使用 micros() 函数而不是 pulseIn() 检测从高到低的 Echo 引脚

我正在使用我在网上找到的程序,我想做的就是使用 micros() 函数替换 pulseIn() 函数。我的想法是在触发引脚变高时开始计数,当 Echo 引脚变低时,计算当前 micros() 与我事先获取距离的时间之间的差异。

这是我目前正在使用的电路的图像

这是我尝试使用 micros() 函数来检查 Echo 引脚何时从高到低。