// Angaben der Variablen
// Variablen für die LEDs
int LEDR=15;
int LEDG=2;
// Variablen für die Anschlüsse, Dauer und Entfernung
int trigger=14;
int echo=13;
long dauer=0; long entfernung=0;
// Pin vergebung
void setup(){
Serial.begin(115200);
// Ausgabe und Eingabe der Anschlüsse für den Ultraschallsensor
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
// Ausgabe der LEDs
pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
}
// Programm wiederholungen
void loop(){
// Auslesung der Ergebnisse
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH);
delay(10);
digitalWrite(trigger, LOW);
dauer = pulseIn(echo, HIGH);
// Formel und Berechnung von der Entfernung
entfernung = (dauer/2) * 0.03432;
// Wenn die Enterfernung über 500cm oder 0cm hat soll der Wert "Kein Messwert" ausgegeben werden
if (entfernung >= 500 || entfernung <= 0) {
Serial.print("Kein Messwert");
Serial.println("Kein Messwert");
}
// Ansonsten soll die berechnete Entfernung angegeben werden
else {
Serial.print(entfernung);
Serial.println(" cm");
}
// Wenn die Entfernung unter 50cm angegeben wird dann soll die rote LED leuchten. Die grüne LED geht aus.
if(entfernung<50){
digitalWrite(LEDR, HIGH);
digitalWrite(LEDG, LOW);
}
// Wenn die Enterfernung über 50cm angegeben wird dann soll die grüne LED leuchten. Die rote LED geht aus.
else{
digitalWrite(LEDR, LOW);
digitalWrite(LEDG, HIGH);
}
// Die komplette Abfrage wird nach 1000 Millisekunden wiederholt
delay(1000);
}