10. Übung: Abstand einlesen#

../_images/10-abstand-einlesen.png
 1// Definieren der Pins für den Ultraschallsensor
 2const int trigPin = 9;
 3const int echoPin = 10;
 4
 5// Skalierungsfaktor für die Kalibrierung (anpassen basierend auf Ihren Messungen)
 6const float scalingFactor = 1.0; // Aktualisieren Sie diesen Wert nach der Kalibrierung
 7
 8    void setup() {
 9        Serial.begin(9600);
10        pinMode(trigPin, OUTPUT);
11        pinMode(echoPin, INPUT);
12    }
13
14    void loop() {
15        float entfernung = messeEntfernung();
16        Serial.print("Entfernung: ");
17        Serial.print(entfernung);
18        Serial.println(" cm");
19        delay(500);
20    }
21
22    // Funktion zur Messung der Entfernung
23    float messeEntfernung() {
24        long dauer;
25        float entfernung;
26
27        // Löschen des trigPin durch Setzen auf LOW
28        digitalWrite(trigPin, LOW);
29        delayMicroseconds(2);
30
31        // Setzen des trigPin auf HIGH für 10 Mikrosekunden
32        digitalWrite(trigPin, HIGH);
33        delayMicroseconds(10);
34        digitalWrite(trigPin, LOW);
35
36        // Lesen des echoPin und Berechnen der Dauer des Impulses
37        dauer = pulseIn(echoPin, HIGH);
38
39        // Berechnen der Entfernung in Zentimetern
40        entfernung = (dauer * 0.034 / 2.0) * scalingFactor;
41
42        return entfernung;
43    }