#include <Servo.h>
Servo servoblau;
int trigger=7;
int echo=6;
long dauer=0;
long entfernung=0;
int Rot = 2;
int Gelb = 4;
int RotZug = 6;
int Tilt = 7;
int Neigung = 0;
int Flag = 1;
void setup()
{
servoblau.attach(8);
Serial.begin (9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(Rot, OUTPUT);
pinMode(Gelb, OUTPUT);
pinMode(RotZug,OUTPUT);
pinMode(Tilt, INPUT);
}
void loop()
{
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH);
delay(10);
digitalWrite(trigger, LOW);
dauer = pulseIn(echo, HIGH);
entfernung = (dauer/2) * 0.03432;
if (entfernung < 30){
// Bahnübergang einschalten -> Lichter dann Schranken (Ton )
if (Flag == 1){
digitalWrite(Gelb, HIGH);
delay(1000);
digitalWrite(Gelb, LOW);
digitalWrite(Rot, HIGH);
Flag = 0;
}
servoblau.write(180);
}
else{
digitalWrite(Rot, LOW);
servoblau.write(90);
Flag = 1;
}
Neigung = digitalRead(Tilt);
if (Neigung == HIGH){
digitlaWrite(RotZug, LOW)
}
else{
digitalWrite(RotZug, HIGH);
}
Serial.print(entfernung);
Serial.println(" cm");
delay(1000);
}