#include <LiquidCrystal_I2C.h>
#define adresse 0x27
#define reihen 20
#define spalten 2
LiquidCrystal_I2C lcd (adresse, reihen, spalten);
int fred = 13;
int fgreen = 12;
int ared = 11;
int ayel = 10;
int agreen = 9;
int tast = 6;
int x, y, z = 0;
int speak = 8;
int ared1 = 4;
int ayel1 = 3;
int agreen1 = 2;
void setup()
{
pinMode(fred, OUTPUT);
pinMode(fgreen, OUTPUT);
pinMode(ared, OUTPUT);
pinMode(ayel, OUTPUT);
pinMode(agreen, OUTPUT);
pinMode(tast, INPUT_PULLUP);
pinMode(speak, OUTPUT);
lcd.init();
lcd.backlight();
pinMode(ared1, OUTPUT);
pinMode(ayel1, OUTPUT);
pinMode(agreen1, OUTPUT);
}
void loop()
{
/*green();
yello();
red();
redyello();*/
z = digitalRead(tast);
if (z == 0 && x == 0)
{
yello();
red();
redyello();
x = 1;
}
else
{
green();
if (x == 1)
{
delay(10000);
x = 0;
}
}
}
void green()
{
digitalWrite(ared, LOW);
digitalWrite(ared1, HIGH);
digitalWrite(ayel, LOW);
digitalWrite(ayel1, LOW);
digitalWrite(agreen, HIGH);
digitalWrite(agreen1, LOW);
digitalWrite(fred, HIGH);
digitalWrite(fgreen, LOW);
lcd.setCursor(1, 0);
lcd.print("Auto fahren!");
lcd.setCursor(1, 1);
lcd.print("Fuss stehen!");
}
void yello()
{
digitalWrite(agreen, LOW);
digitalWrite(agreen1, LOW);
digitalWrite(ayel, HIGH);
digitalWrite(ayel1, HIGH);
digitalWrite(ared, LOW);
digitalWrite(ared1, HIGH);
delay(2000);
lcd.setCursor(1, 0);
lcd.print("Auto stehen!");
lcd.setCursor(1, 1);
lcd.print("Fuss stehen!");
}
void red()
{
digitalWrite(ayel, LOW);
digitalWrite(ayel1, LOW);
digitalWrite(ared, HIGH);
digitalWrite(ared1, LOW);
digitalWrite(agreen1, HIGH);
delay(2000);
digitalWrite(fred, LOW);
digitalWrite(fgreen, HIGH);
tone(8, 260, 10000);
lcd.setCursor(1, 0);
lcd.print("Auto stehen!");
lcd.setCursor(1, 1);
lcd.print("Fuss gehen!");
delay(10000);
}
void redyello()
{
lcd.setCursor(1, 0);
lcd.print("Auto stehen!");
lcd.setCursor(1, 1);
lcd.print("Fuss stehen!");
digitalWrite(fgreen, LOW);
digitalWrite(fred, HIGH);
delay(2000);
digitalWrite(ayel1, HIGH);
digitalWrite(ayel, HIGH);
digitalWrite(ared1, LOW);
digitalWrite(agreen1, LOW);
delay(2000);
}