使用我的Arduino Uno,我使用HC 04超声波传感器测量距离,没有任何问题,使用下面的线路。当我贴上以太网屏蔽,我的超声波传感器不再测量距离,它总是说0厘米无论如何。我试过不同的数字引脚对,如5-7,6-8,5-9,3-5,2-8,但没有运气。
我怀疑HC 04与我的以太网屏蔽不兼容,但我还没有在网络上看到过这样的警告。
这是我的以太网屏蔽;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);
}

发布于 2014-09-01 19:57:28
今天我买了一个万用表并测试了我的电路。这是结果;
当我的电路直接连接到Arduino本身;
4.80V & 5.7mA
当我的电路连接到以太网屏蔽;
3.06V & 3.8mA
我认为问题是3.06V不足以让我的HC 04操作.
发布于 2014-08-26 01:34:49
是的,基于这张照片

你的感应器没有接地。你有两个电源在里面。不用说,这是有几个原因造成的。首先也是最重要的,因为它不能不接地的lol。
发布于 2014-09-12 03:36:33
正如其他人所说,看起来主要的问题是,你需要这个连接到5V,并检查你的布线一般。
然而,还有另一个潜在的问题:
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);你只需要将触发针调高10微秒,而不是1000微秒。我不知道这是不是一个问题,但没有必要等待这么长时间。如果等那么久,你可能会失去部分或全部输入的脉搏。
您可能也需要查看一些HC 04教程,例如:
http://superawesomerobots.com/tutorials/hc-sr04-tutorial-for-arduino/
希望这能有所帮助。
https://stackoverflow.com/questions/25475564
复制相似问题