提问者:小点点

为什么超声波传感器在Arduino中只输出0?


我开发了一种代码,用超声波传感器来测量距离。但是好像不管用。它只输出0。这是代码。

`#包括

void setup() {

串行开始(9600);

}

void循环(){

int dist=getcm();

延迟(100);

序列号println(dist);

}

int getcm() {

digitalWrite(A0,低);

延迟微秒(2);

数字写入(A0,高);

延迟微秒(10);

digitalWrite(A0,低);

int持续时间=pulseIn(A1,高);

int距离=(持续时间*.0343)/2;

距离=圆(距离);

回程距离;

}'

代码有什么问题吗?还是问题出在传感器上?


共1个答案

匿名用户

我不知道这些传感器上的接口是如何工作的,但是,有更简单的方法可以做到这一点,例如使用 NewPing.h 库。

#include <NewPing.h>
NewPing sonar (10, 11, 20);

void setup() {
Serial.beign(9600);
delay(50);
}

void loop() {
Serial.print("The Distance is:");
Serial.println(sonar.ping_cm());
delay(1000);
}

这应该行得通。所以,尝试这种方式,如果它仍然不起作用,它可能是一个有故障的传感器。