我目前正在使用HC-SR04超声波传感器测量传感器到表面的距离。
问题是来自传感器的结果值既不一致,也不准确。
我读到HC-SR04的最大读数范围可达400厘米。
我目前的情况是,传感器可以合理地测量到20厘米,但当它超过这个高度时,它很快就会失效。
例如,传感器和表面之间的距离大约是170厘米,但是传感器说它大约是50厘米。
以下是引脚的连接方式。
HC-SR04-Arduino。
Trig调到13
回声到12
Vcc至5V
GND到GND
以下是我为Arduino编写的代码。
#define echoPin1 12
#define trigPin1 13
float duration;
float distance1_1;
void setup()
{
pinMode (echoPin1, INPUT);
pinMode (trigPin1, OUTPUT);
digitalWrite(trigPin1, LOW);
Serial.begin (9600);
Serial.println("Program Begins");
}
void loop()
{
DIST();
delay (1000);
}
void DIST()
{
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration=pulseIn(echoPin1, HIGH);
distance1_1=(duration*0.0343)/2;
Serial.println("Distance")
Serial.println(distance1_1);
} 发布于 2019-11-15 12:45:44
https://stackoverflow.com/questions/58869703
复制相似问题