Ich führe das Programm alle 200ms aus. Da sind die Ergebnisse gut.
digitalWrite(triggerPin2, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin2, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin2, LOW);
messung2 = pulseIn(echoPin2, HIGH, timeout); // Echozeit auslesen.
// Wenn "messung" größer Timeout dann Messung ist "0"
// Timout ist 18000 also 306 cm
// Ist messung "0" dann ungültig, LCD-Ausgabe überspringen
if (messung2 > 0) {
ergebnis2 = (messung2 / 2) / 29; // Millisec in cm umrechnen.