const int ledPins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,}; // LEDs an den Pins 2 bis 12
const int buttonPin = 12; // Taster an Pin 13
const int speedControlPin = A0; // Potentiometer oder Stufenschalter an Analog-Pin A0
int currentLed = 0; // Start mit der ersten LED
bool running = true; // Status des Lauflichts
void setup() {
for (int i = 0; i < 11; i++) {
pinMode(ledPins[i], OUTPUT); // LED-Pins als Ausgänge definieren
digitalWrite(ledPins[i], LOW); // Alle LEDs ausschalten
}
pinMode(buttonPin, INPUT); // Button-Pin als Eingang definieren
}
void loop() {
if (running) {
// Nur die aktuelle LED einschalten
digitalWrite(ledPins[currentLed], HIGH);
// Geschwindigkeit aus dem Potentiometer-Wert berechnen
int speedValue = analogRead(speedControlPin); // Lesen des Analogwertes (0 bis 1023)
int delayTime = map(speedValue, 0, 1023, 50, 500); // Geschwindigkeit auf 50 bis 500 ms skalieren
// Wartezeit, um das Lauflicht sichtbar zu machen
delay(delayTime);
// Überprüfen, ob der Taster gedrückt wurde
if (digitalRead(buttonPin) == HIGH) {
running = false; // Lauflicht stoppen
} else {
// Aktuelle LED ausschalten bevor zur nächsten gewechselt wird
digitalWrite(ledPins[currentLed], LOW);
// Zur nächsten LED wechseln
currentLed = (currentLed + 1) % 11;
}
}
}