int Scope[] = {3,4,5,6, 7, 8, 9, 10, 11, 12,13,14};
int range = 10; // Anzahl der LEDs im Array (Pins 6 bis 12)
int begin = 0; // Startindex des Arrays (LED bei Pin 6)
int ende = 11; // Endindex des Arrays (LED bei Pin 12)
int mover = 1; // Bewegungsrichtung (1 = vorwärts, -1 = rückwärts)
int pause = 200; // Pause zwischen den Schritten (500ms)
int knopf = 2; // Pin für den Knopf
int position = 0; // Startposition der wandernden LEDs
void setup() {
// Setze alle LED-Pins als Ausgang
for (int i = 0; i < range; i++) {
pinMode(Scope[i], OUTPUT);
digitalWrite(Scope[i], LOW); // Alle LEDs ausschalten
}
pinMode(knopf, INPUT);
digitalWrite(knopf,LOW);
Serial.begin(9600);
}
void loop() {
int pushknopf = digitalRead(knopf);
if (pushknopf == HIGH) {
// LEDs einschalten
for (int i = 0; i < 3; i++) { // 3 LEDs einschalten
int ledPos = position + i * mover;
if (ledPos >= 0 && ledPos < range) { // Stelle sicher, dass wir im Bereich bleiben
digitalWrite(Scope[ledPos], HIGH);
Serial.println("Lights On.");
}
}
delay(pause);
// LEDs ausschalten
for (int i = 0; i < 3; i++) {
int ledPos = position + i * mover;
if (ledPos >= 0 && ledPos < range) { // Stelle sicher, dass wir im Bereich bleiben
digitalWrite(Scope[ledPos], LOW);
}
}
// Position aktualisieren
position += mover;
// Richtung umkehren, wenn der Anfang oder das Ende erreicht wurde
if (position == ende || position == begin) {
mover *= -1;
}
}
}