Ultraschallsensor
Ardunio, Entfernungen mit einem Ultraschallsensor messen.
Auf dieser Seite erklären Felipe und ich euch, wie ihr mit einen Ultraschallsensor Entfernungen messen könnt.
Benötigte Hardware:
- Ardunio
- 4 Jumperkabel
- Ultraschallsensor
Aufbau:
In der folgenden Tabelle seht ihr welche Pins des Arduinos jeweils mit welchen Pins des Ultraschallsensors verbunden sind.
Ultraschallsensor: Arduino:
VCC 5V
Trig Pin 7
Echo Pin 6
GND GND
Code:
int trigger=7; //Trigger-Pin des Ultraschallsensors an Pin7 des Arduino-Boards int echo=6; // Echo-Pim des Ultraschallsensors an Pin6 des Arduino-Boards long dauer=0; // Das Wort dauer ist jetzt eine Variable, unter der die Zeit gespeichert wird. long entfernung=0; // Das Wort „entfernung“ ist jetzt die variable, unter der die berechnete Entfernung gespeichert wird. void setup() { Serial.begin (9600); //Serielle kommunikation starten, damit man sich später die Werte am serial monitor ansehen kann. pinMode(trigger, OUTPUT); // Trigger-Pin ist ein Ausgang pinMode(echo, INPUT); // Echo-Pin ist ein Eingang } void loop() { digitalWrite(trigger, LOW); //Hier nimmt man die Spannung für kurze Zeit vom Trigger-Pin. delay(5); //Dauer: 5 Millisekunden digitalWrite(trigger, HIGH); //Jetzt sendet man eine Ultraschallwelle los. delay(10); //Dieser „Ton“ erklingt für 10 Millisekunden. digitalWrite(trigger, LOW);//Dann wird der „Ton“ abgeschaltet. dauer = pulseIn(echo, HIGH); //Mit dem Befehl „pulseIn“ zählt der Mikrokontroller die Zeit in Mikrosekunden, bis der Schall zum Ultraschallsensor zurückkehrt. entfernung = (dauer/2) * 0.03432; //Nun berechnet man die Entfernung in Zentimetern. Man teilt zunächst die Zeit durch zwei und multipliziert mit der Schallgeschwindigkeit erhält dann den Wert in Zentimetern. if (entfernung >= 500 || entfernung <= 0) //Wenn die gemessene Entfernung über 500cm oder unter 0cm liegt,… { Serial.println("Kein Messwert"); //dann soll der serial monitor ausgeben „Kein Messwert“, weil Messwerte in diesen Bereichen sehr ungenau sind. } else // Ansonsten… { Serial.print(entfernung); //…soll der Wert der Entfernung an den serial monitor hier ausgegeben werden. Serial.println(" cm"); // Hinter dem Wert der Entfernung soll auch am Serial Monitor die Einheit "cm" angegeben werden. } delay(1000); //Das delay von einer Sekunde sorgt in ca. jeder neuen Sekunde für einen neuen Messwert. }
Seriellen Monitor starten:
Den Seriellen Monitor findet ihr unter: Werkzeuge >Serieller Monitor, oder mit der Tastenkombination: Strg+Shift+M
Die Entfernung zwischen dem Ultraschallsensor und einem Gegenstand wird dort in cm Angezeigt !