int LED_M_LEFT=2;
int LED_M_MIDDLE=3;
int LED_M_RIGHT=4;
int LED_I_DOWN=13;
int LED_I_TOP=14;
int LED_A_1=7;
int LED_A_2=8;
int LED_A_3=9;
int LED_A_4=10;
int echo=11;
int trigger=12;
long zeit;
long dauer=0; //Das Wort daur ist jetzt eine Variable unter der die Zeit gespeichert wird, die eine Schallwelle bis zur Reflektion
// und qzurück benötigt. Startwert ist hier 0.
long entfernung=0; //Das Wort entfernung ist jetzt die variable unter die die berechnete Entfernung gespeicher wird.
// Info: Anstelle von "int" steht hier vor den beiden variablen "long". Das hat den Vorteil, dass eine größere Zahl
// gespeichert werden kann
void setup() {
// put your setup code here, to run once:
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(LED_M_LEFT,OUTPUT);
pinMode(LED_M_MIDDLE,OUTPUT);
pinMode(LED_M_RIGHT,OUTPUT);
pinMode(LED_I_DOWN,OUTPUT);
pinMode(LED_I_TOP,OUTPUT);
pinMode(LED_A_1,OUTPUT);
pinMode(LED_A_2,OUTPUT);
pinMode(LED_A_3,OUTPUT);
pinMode(LED_A_4,OUTPUT);
millis();
zeit=10000;
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigger,LOW); //Hier nimmt man die Spannung für kurze Zeut vom Trigger-Pin, damit man später beim senden des Trigger-Signale
// ein rauschfreies Signal hat
delay(5); //Dauer 5 ms
digitalWrite(trigger,HIGH); //jetzt sendet man ein Ultraschallwelle los
delay(10); //Dieser "TON" erklingt für 10 ms
digitalWrite(trigger,LOW); //Dann wird der "Ton" abgeschaltet
dauer = pulseIn(echo,HIGH); // mit dem Befehl "pulseIn" zählt der Mikrokontroller die Zeit in ms, bis der Schall zum Ultraschall zurückkehrt
entfernung = (dauer/2) * 0.03432; //Berechnung der Entfernung in cm (durch 2 wegen nur einem Weg und mal Schall in cm)
if (entfernung<=99)
{
digitalWrite(LED_M_LEFT,HIGH);
}
else
{
digitalWrite(LED_M_LEFT,LOW);
}
if (entfernung<=90)
{
digitalWrite(LED_M_MIDDLE,HIGH);
}
else
{
digitalWrite(LED_M_MIDDLE,LOW);
}
if (entfernung<=80)
{
digitalWrite(LED_M_RIGHT,HIGH);
}
else
{
digitalWrite(LED_M_RIGHT,LOW);
}
if (entfernung<=70)
{
digitalWrite(LED_I_DOWN,HIGH);
}
else
{
digitalWrite(LED_I_DOWN,LOW);
}
if (entfernung<=60)
{
digitalWrite(LED_I_TOP,HIGH);
}
else
{
digitalWrite(LED_I_TOP,LOW);
}
if (entfernung<=50)
{
digitalWrite(LED_A_1,HIGH);
}
else
{
digitalWrite(LED_A_1,LOW);
}
if (entfernung<=40)
{
digitalWrite(LED_A_2,HIGH);
}
else
{
digitalWrite(LED_A_2,LOW);
}
if (entfernung<=30)
{
digitalWrite(LED_A_3,HIGH);
}
else
{
digitalWrite(LED_A_3,LOW);
}
if (entfernung<=20)
{
digitalWrite(LED_A_4,HIGH);
}
else
{
digitalWrite(LED_A_4,LOW);
}
if(entfernung>=99)
{
digitalWrite(LED_M_LEFT,HIGH);
delay(1000);
digitalWrite(LED_M_LEFT,LOW);
digitalWrite(LED_M_MIDDLE,HIGH);
delay(1000);
digitalWrite(LED_M_MIDDLE,LOW);
digitalWrite(LED_M_RIGHT,HIGH);
delay(1000);
digitalWrite(LED_M_RIGHT,LOW);
digitalWrite(LED_I_DOWN,HIGH);
delay(1000);
digitalWrite(LED_I_DOWN,LOW);
digitalWrite(LED_I_TOP,HIGH);
delay(1000);
digitalWrite(LED_I_TOP,LOW);
digitalWrite(LED_A_1,HIGH);
delay(1000);
digitalWrite(LED_A_1,LOW);
digitalWrite(LED_A_2,HIGH);
delay(1000);
digitalWrite(LED_A_2,LOW);
digitalWrite(LED_A_3,HIGH);
delay(1000);
digitalWrite(LED_A_3,LOW);
digitalWrite(LED_A_4,HIGH);
delay(1000);
digitalWrite(LED_A_4,LOW);
}
}