#define LINKS 3
#define RECHTS 2
#define SPEED 300
int led[] = {13, 12, 11, 10, 9, 8, 7, 6};
int anzahl = sizeof(led)/sizeof(int);
int pos = 0;
int zustand = 0;
long LetzteZeit = 0;
int richtung = 1;
void setup() {
// put your setup code here, to run once:
for(int i = 0; i < anzahl; i++)
{
pinMode(led[i], OUTPUT);
digitalWrite(led[i], HIGH);
}
pinMode(LINKS, INPUT);
pinMode(RECHTS, INPUT);
digitalWrite(led[pos], LOW);
}
void loop() {
if(!digitalRead(LINKS))
zustand = 1;
if(!digitalRead(RECHTS))
zustand = 0;
if(millis() - LetzteZeit > SPEED) // delay
{
digitalWrite(led[pos], HIGH);
pos += richtung;
if(pos== anzahl - 1 || pos == 0 ) // Grenze
richtung *= -1; // Richtung ändern
digitalWrite(led[pos], LOW);
LetzteZeit = millis(); // delay neu starten
}
}
//Lichtspiele
// - LEDs über Feld verwalten (Leichter Boardwechsel)
// - Ein LED von links nach rechts laufen lassen und wieder zurück
// - Linke Taste -> Lauflicht ein
// - Rechte Taste -> Lauflicht aus
// - Alle 300 ms wechselt die LED