Hallo,
ich möchte mir eine Einschalt-Verzögerung mit dem Arduino-UNO bauen. Möchte eine Taste (Taster momentary) kurz drücken, dann sollen in einer gewissen Reihenfolge am Arduino 5 LEDs angehen. Nach nochmaligem Drücken des Tasters sollen die LEDs dann wieder ausgehen. Anhand diverser Beschreibungen/Beispiele zu Button/LED und Verzögerungen usw., die ich gefunden habe, habe ich diesen Sketch zusammengesetzt. Er funktioniert, aber ich möchte da einiges noch ändern. Jedoch weiß ich nicht wie.
Im Moment schalten die LED nach dem Tastendruck in der Reihenfolge 1-2-3-4-5 im Intervall von je 1000 msek ein und bleiben dann angeschaltet. Drücke ich den Taster nochmals, dann schalten sich die LED wieder in derselben Reihenfolge aus wie beim anschalten (also 1-2-3-4-5 und wieder mit Intervall 1000 msek). Nun möchte ich beim Ausschalten aber eine andere Reihenfolge festlegen (aber mit jeweils anderer Zeitverzögerung als die bisherigen 1000 msek), z.B. 5-3-4-1-2. Hier weiss ich nicht, wie das gemacht wird. Es muss die Ausschalt-Reihenfolge nun ja entsprechend anders nochmals eingetragen werden. Kann mir jemand helfen?
Andi
Code:
int button = 2;
int led1 = 3;
int led2 = 4;
int led3 = 5;
int led4 = 6;
int led5 = 7;
int status = false;
void setup()
{
pinMode(button, INPUT_PULLUP);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop()
{
if (digitalRead(button) == true)
{
status = !status;
delay(1000);
digitalWrite(led1, status);
delay(1000);
digitalWrite(led2, status);
delay(1000);
digitalWrite(led3, status);
delay(1000);
digitalWrite(led4, status);
delay(1000);
digitalWrite(led5, status);
}
while(digitalRead(button) == true);
delay(50);
}
Lesezeichen