Arduino UNO +以太网屏蔽+超声波传感器=失败

时间:2014-08-24 19:36:00

标签: arduino sensor ethernet electronics arduino-uno

使用我的Arduino Uno,我使用HC-SR04超声波传感器测量距离,使用下面的接线完全没有问题。 当我连接以太网屏蔽时,我的超声波传感器不再测量距离,无论如何都不断地说0cm。我尝试了不同的数字引脚对,如5-7,6-8,5-9,3-5,2-8,但没有运气。

我怀疑HC-SR04与我的以太网屏蔽不兼容,但我没有在网上的任何地方看到过这样的警告。

  • 除了以太网屏蔽和超声波传感器本身之外,没有任何组件连接到arduino。
  • SD卡插槽中没有SD卡。
  • 运行Web服务器或Web客户端脚本时,我的以太网防护罩工作正常。
  • 以太网屏蔽的数字引脚可与所有其他组件(如温度传感器,运动传感器等)配合使用。

这是我拥有的以太网盾; http://www.ezshopfun.com/product_info.php?products_id=169

这是我的实际电路;

这是我的代码;

#define trigPin 6
#define echoPin 7

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  int duration, distance;
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH) / 2;
  distance = duration / 29.1;
  Serial.print(distance);
  Serial.println(" cm");
  delay(500);
}

Circuit

4 个答案:

答案 0 :(得分:1)

今天我买了一台万用表并测试了我的电路。结果如下;

当我的电路直接连接到Arduino本身时;

  

4.80V &的5.7毫安

当我的电路连接到以太网屏蔽时;

  

3.06V &的3.8毫安

我认为问题是我的HC-SR04不能运行3.06V。

答案 1 :(得分:0)

是的,基于这张照片

enter image description here

您没有将传感器接地。你有两个电源进入它。不用说,这有很多原因。首先是因为它不会没有工作lol

答案 2 :(得分:0)

正如其他人所说,看起来主要的问题是你需要将它连接到5V并检查你的接线。

然而,还有另一个潜在的问题:

digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);

您只需将触发引脚设置为10微秒,而不是1000微秒。我不知道这是不是问题,但没有必要等待这么长时间。通过等待那么长时间,你可能会遗漏部分或全部输入脉冲。

您可能也希望查看一些HC-SR04教程,例如:

http://superawesomerobots.com/tutorials/hc-sr04-tutorial-for-arduino/

希望有所帮助。

答案 3 :(得分:0)

我遇到了与wifi屏蔽+超声波传感器类似的问题。我发现从引脚13(触发)和11(回声)切换到8(触发)和3(回声)固定它。

见这里:http://forum.arduino.cc/index.php?topic=201827.0