【问题标题】:Arduino UNO + Ethernet Shield + Ultrasonic Sensor = FailArduino UNO + Ethernet Shield + 超声波传感器 = 失败
【发布时间】:2014-10-17 23:49:44
【问题描述】:

使用我的 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);
}

【问题讨论】:

  • 你能附上你的设置的实际照片而不是这个草图吗?您是否使用万用表来查看测距仪是否正在通电以及是否正在传输信号?极不可能这些是不兼容的组件。
  • @AnthonyRussell 我已将我的设置照片添加到原始帖子中。我还没有测试传感器是否在传输,应该吗?我的意思是,如果没有以太网屏蔽,这个相同的设置也适用于 arduino 本身。既然你说这里几乎不可能有两个不兼容的组件,我无语;不知道现在要测试什么..
  • .... 天哪,哈哈,拿个万用表,对每条线路进行物理测试。当您使用硬件时,永远永远永远永远永远永远永远假设任何事情都在工作......永远。测试线条
  • btw 在您的照片中看起来您连接到 3.3v 和 5v 而不是接地。我会检查的。如果是这种情况,您也可能已经对传感器进行了核对。购买万用表的另一个好理由
  • @AnthonyRussell 啊,由于照片的角度,它似乎连接到 5V 和 3.3V,但事实并非如此。接线的一切都很好:) 那我想我应该用万用表测试我的电路。

标签: arduino sensors arduino-uno ethernet


【解决方案1】:

wifi shield + 超声波传感器也有类似的问题。我发现从引脚 13(trig) 和 11(echo) 切换到 8(trig) 和 3(echo) 修复了它。

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

【讨论】:

    【解决方案2】:

    正如其他人所说,主要问题是您需要将其连接到 5V 并通常检查您的接线。

    但是,还有另一个潜在的问题:

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

    您只需将触发引脚设置为高电平 10 微秒,而不是 1000 微秒。我不知道这是否是一个问题,但没有必要等待这么久。等待那么久,您可能会丢失部分或全部输入脉冲。

    您可能还想查看一些 HC-SR04 教程,例如:

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

    希望对您有所帮助。

    【讨论】:

      【解决方案3】:

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

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

      4.80V & 5.7mA

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

      3.06V & 3.8mA

      我认为问题在于 3.06V 不足以让我的 HC-SR04 运行。

      【讨论】:

      • 您设备的数据表是怎么说的?
      • 这是数据表:micropik.com/PDF/HCSR04.pdf 它说需要 5V 才能运行。
      • 那么这很可能是你的问题。
      【解决方案4】:

      是的,根据这张照片

      您没有将传感器接地。你有两个电源进入它。不用说,这很糟糕,原因有很多。首先也是最重要的,因为它不会在没有接地的情况下工作,哈哈

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多