【发布时间】:2019-09-10 23:08:24
【问题描述】:
我的名字是 Dmitrij,我想将 HC-SR04 连接到 Arduino,以便测量距离。 问题是传感器连续发送 4-5 个正确结果,然后连续发送 5-6 个错误结果。
我尝试更换 Arduino 和传感器,但没有帮助。 最后,当我写这篇文章时,我有点解决了这个问题。 在我将传感器连接到 Arduino 5V 后,传感器从外部电源模块 (https://i.imgur.com/Zjg22ka.png) 获得 5 伏电压,一切正常。 有没有办法以某种方式解决这个问题?
int echo = 8;
int trig = 9;
float duration, distance;
void setup() {
pinMode(echo, INPUT);
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
Serial.begin (9600);
}
void loop() {
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
distance = (duration / 2) * 0.0344;
Serial.print("Distance = ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
这是传感器对准墙壁时的输出。 实际距离在 15-16 厘米左右,我不明白为什么它还会输出其他东西。
Distance = 15.70 cm
Distance = 15.70 cm
Distance = 15.65 cm
Distance = 15.70 cm
Distance = 3.92 cm
Distance = 2.25 cm
Distance = 1.67 cm
Distance = 0.48 cm
Distance = 0.55 cm
Distance = 6.73 cm
Distance = 15.65 cm
Distance = 15.65 cm
Distance = 15.65 cm
Distance = 15.65 cm
Distance = 4.11 cm
Distance = 2.27 cm
Distance = 1.50 cm
Distance = 0.50 cm
Distance = 0.50 cm
Distance = 6.33 cm
等等。
【问题讨论】: