const int potPin = A0; // Analoger Eingangspin für das Potentiometer
int potValue = 0; // Variable zur Speicherung des gelesenen Werts
void setup() {
DDRD |= (1 << 3);
DDRD |= (1 << 4);
DDRD |= (1 << 2);
DDRD |= (1 << 7);
DDRB |= (1 << 3);
DDRB |= (1 << 4);
DDRB |= (1 << 5);
Serial.begin(9600); // Starte die serielle Kommunikation mit einer Baudrate von 9600
}
void loop() {
potValue = analogRead(potPin); // Lese den analogen Wert vom Potentiometer
//Serial.println(potValue); // Gelesenen Wert über die serielle Schnittstelle ausgeben
delay(100); // Kurze Verzögerung für Stabilität
switch (potValue / 204) {
case 1:
{
PORTD |= (1 << 3);
PORTD |= (1 << 2);
_delay_ms(450);
PORTD &= ~(1 << 3);
PORTD &= ~(1 << 2);
PORTD |= (1 << 4);
_delay_ms(450);
PORTD &= ~(1 << 4);
}
break;
case 2:
{
PORTB |= (1 << 3);
PORTB |= (1 << 5);
_delay_ms(450);
PORTB &= ~(1 << 3);
PORTB &= ~(1 << 5);
PORTB |= (1 << 4);
_delay_ms(450);
PORTB &= ~(1 << 4);
}
break;
case 3:
{
PORTD |= (1 << 3);
PORTD |= (1 << 2);
PORTB |= (1 << 3);
PORTB |= (1 << 5);
_delay_ms(450);
PORTB &= ~(1 << 3);
PORTB &= ~(1 << 5);
PORTB |= (1 << 4);
PORTD &= ~(1 << 3);
PORTD &= ~(1 << 2);
PORTD |= (1 << 4);
_delay_ms(450);
PORTB &= ~(1 << 4);
PORTD &= ~(1 << 4);
}
break;
default:
{
PORTD |= (1 << 7);
_delay_ms(350);
PORTD &= ~(1 << 7);
_delay_ms(350);
}
break;
}
}