/*
Author: Gregor Mausser
Titel: Lastenaufzug
Date: 13.05.2026
*/
//Variablen
const int LedPinUnten = 7;
const int LedPinMitte = 6;
const int LedPinOben = 5;
const int ButtonUp = 4;
const int ButtonDown = 3;
enum mode {
UNTEN,
MITTE,
OBEN
};
mode state = UNTEN;
void setup() {
// put your setup code here, to run once:
pinMode(LedPinUnten, OUTPUT);
pinMode(LedPinMitte, OUTPUT);
pinMode(LedPinOben, OUTPUT);
pinMode(ButtonUp, INPUT_PULLUP);
pinMode(ButtonDown, INPUT_PULLUP);
Serial.begin(9600);
}
void Led_settings(int Oben, int Mitte, int Unten) {
if(Oben == 1) {
digitalWrite(LedPinOben, HIGH);
}
else{
digitalWrite(LedPinOben, LOW);
}
if(Mitte == 1) {
digitalWrite(LedPinMitte, HIGH);
}
else{
digitalWrite(LedPinMitte, LOW);
}
if(Unten == 1) {
digitalWrite(LedPinUnten, HIGH);
}
else{
digitalWrite(LedPinUnten, LOW);
}
}
void loop() {
// put your main code here, to run repeatedly:
switch(state) {
case UNTEN:
Led_settings(0, 0, 1);
if (ButtonUp == LOW) {
Led_settings(0, 0, 0);
delay(1000);
state = MITTE;
}
break;
case MITTE:
Led_settings(0, 1, 0);
if (ButtonUp == LOW) {
Led_settings(0, 0, 0);
delay(1000);
state = OBEN;
}
if (ButtonDown == LOW) {
Led_settings(0, 0, 0);
delay(1000);
state = UNTEN;
}
break;
case OBEN:
Led_settings(1, 0, 0);
if (ButtonDown == LOW) {
Led_settings(0, 0, 0);
delay(1000);
state = UNTEN;
}
break;
}
}
Gregor Mausser