Moin alle zusammen,
ich hab mit einem Nano und einem Ultraschallsensor (HC-SR04) eine kleine Distanzmessung aufgebaut. In Kombination mit einem DHT11 berechne ich die Entfernung über 100 Werte und gebe mir dann die Zahl als cm aus. Nun ist mir aufgefallen, dass der erste Wert stimmt, jedoch die nächsten 15 Werte viel zu klein sind bevor wieder realistische Werte ausgegeben werden. Der Nano läuft über USB und der Ultraschallsensor hat eine eigene 5V Spannungsversorgung. GND ist verbunden.
float summe=0;
int i=0, h=0, tempera=0;
tempera=DHT.temperature;
while(i<=99){
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
speed = 331.5 + (0.6 * 20);
distance = (duration / 2) * (speed / 10000);
summe=summe+distance;
h=distance*100;
Serial.println(h);
delayMicroseconds(40);
i++;
}
Ich weiß leider nicht wonach ich suchen muss bzw. was den Fehler auslöst und warum er gerade bei Messung 2 bis 16 auftritt.
Mit freundlichen Grüßen