#define K1 (!(PINB & (1 << PB1))) // rechts
#define K2 (!(PINB & (1 << PB2))) // reset
#define K3 (!(PINB & (1 << PB3))) // links
uint8_t pos = 2; // LED start op PD2
void setup() {
DDRD = 0b00111100; // PD2–5 = LED’s
PORTD = (1 << pos); // start LED
DDRB &= ~0b00001110; // PB1–3 = knoppen
PORTB |= 0b00001110; // pull-ups
}
void loop() {
if (K1) { // rechts
pos++;
if (pos > 5) pos = 2;
PORTD = (1 << pos);
delay(200);
}
if (K3) { // links
pos--;
if (pos < 2) pos = 5;
PORTD = (1 << pos);
delay(200);
}
if (K2) { // reset
pos = 2;
PORTD = (1 << pos);
delay(200);
}
}