ARDUINO HC-SR04输出不正确的测量值

时间:2018-08-26 20:32:47

标签: arduino arduino-uno

所以我现在已经有一段时间进入Arduino了,但是仍然无法使该传感器正常工作。它的代码如下:

#define trigPin 12
#define echoPin 11


void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT); //Pin, do którego podłączymy trig jako wyjście
  pinMode(echoPin, INPUT); //a echo, jako wejście
}

void loop() {  
  Serial.print(zmierzOdleglosc());
  Serial.println(" cm");

  delay(500);
} 

int zmierzOdleglosc() {
  long czas, dystans;

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  czas = pulseIn(echoPin, HIGH);
  dystans = czas / 58;

  return dystans;
}

我也尝试了许多其他脚本,以查看解决方案是否在代码中,但我想不是。问题在于HC-SR04的整个输出时间为2厘米,当我用手指覆盖时,有时会更少甚至更多。我不认为这是有问题的,像一周前一样买了它。按照代码正确连接,Vcc至5V,GND至GND,Trig至12,Echo至11。我见过有人在Trig传感器及其引脚之间连接一个10k欧姆的电阻。这是我发现的照片:http://1.bp.blogspot.com/-oMjpg9bjavM/VWG1LmWLxGI/AAAAAAAACRA/vRMxmdWh22Q/s1600/hc-sr04_repair_detail.jpg 有什么想法吗?

0 个答案:

没有答案