// Verkehrsampel
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int green = 10; // Grüne LED
int yellow = 11; // Gelbe LED
int red = 12; // Rote LED
void setup() {
// put your setup code here, to run once:
pinMode(green, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(red, OUTPUT);
Serial.begin(9600); // =Baudrate, bits per second
lcd.init();
lcd.backlight();
}
void loop() {
// put your main code here, to run repeatedly:
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Stopp!");
Serial.println("Stopp!");
digitalWrite(red, HIGH);
delay(4000);
lcd.setCursor(4,1);
lcd.print("Achtung");
Serial.println("Achtung");
digitalWrite(yellow, HIGH);
delay(2000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Los Los Los!");
Serial.println("Los Los Los!");
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
digitalWrite(green, HIGH);
delay(3000);
// Grün Blinken Phase
lcd.setCursor(1,1);
lcd.print("Jetzt schnell!");
Serial.println("Jetzt schnell!");
for (int i = 0; i < 4; i++) {
digitalWrite(green, LOW);
delay(500);
digitalWrite(green, HIGH);
delay(500);
}
digitalWrite(green, LOW);
lcd.clear();
lcd.setCursor(4,1);
lcd.print("Achtung");
Serial.println("Achtung");
digitalWrite(yellow, HIGH);
delay(2000);
digitalWrite(yellow, LOW);
Serial.println("Alles im grünen Bereich");
Serial.println("Achtung, Wert im gelben Bereich");
Serial.println("Warnung, kritischen Bereich erreicht");
}