问题超声波传感器和以太网盾的Arduino之间
问题描述:
我有一个超声波传感器连接到Arduino的UNO和Arduino的代码是从传感器取读数并将它们发送到远程服务器在整个以太网屏蔽项目,问题超声波传感器和以太网盾的Arduino之间
现在我面临的问题是我需要使用6个超声波传感器,但是当Arduino从4个以上的传感器读取数据时,Arduino不能正常工作,但是如果我从位于一个引脚的引脚上读取两个其他传感器以前的传感器的正常工作,或者即使我给你那两个传感器正常工作的默认值,
我面对的是关系到跟随着的问题g pins: 10,11,12,13 以太网盾正在使用它们,但我如何克服这个问题并运行所有六个传感器?
您可以找到下面的代码的一部分:
#include <Ethernet.h>
#include <SPI.h>
#define ECHOPIN1A1 3 // Pin to receive echo pulse
#define TRIGPIN1A1 2 // Pin to send trigger pulse
#define ECHOPIN1A2 5 // Pin to receive echo pulse
#define TRIGPIN1A2 4 // Pin to send trigger pulse
#define ECHOPIN1A3 7 // Pin to receive echo pulse
#define TRIGPIN1A3 6 // Pin to send trigger pulse
#define ECHOPIN1B1 9 // Pin to receive echo pulse
#define TRIGPIN1B1 8 // Pin to send trigger pulse
#define ECHOPIN1B2 5 // Pin to receive echo pulse
#define TRIGPIN1B2 4 // Pin to send trigger pulse
#define ECHOPIN1B3 3 // Pin to receive echo pulse
#define TRIGPIN1B3 2 // Pin to send trigger pulse
答
你可以使用一个板有更多的GPIO引脚喜欢的Arduino MEGA。或者您可以将触发引脚连接在一起,只使用一个Arduino引脚来驱动它们。
编辑: 请确保您阅读下面的Tansir的评论,并试验看看有什么可行的,什么不可行。使用可用引脚的数量,您需要每个引脚触发3个超声波传感器(2个引脚用于触发+ 6个引脚用于读取回波)。还有另一种解决方案:您可以使用多路复用器/解复用器来驱动多达8个传感器(5个引脚(2个数据引脚和3个地址引脚))。然而,这会增加硬件的复杂性。
您需要小心触发多个超声波传感器一次。根据瞄准方式的不同,由于干扰和多径回波,每个传感器会有多个回报,从而导致您的测量结果出现问题。按顺序触发它们比较安全,每个触发器之间有一小段延迟,或确保它们瞄准的方向相反,以尽量减少干扰。 – Tansir1
这是我的目标是按顺序触发它们,但是我认为这个问题是输入和输出的限制,因为我需要使用6个超声波传感器,我想从共享引脚触发3个传感器以触发并在每个传感器上顺序读取传感器这三个我想读我会触发从共享引脚的三个传感器,然后我会从我想读的特定传感器读取, – HAlmusajjen