Upravljivo trčeće svijetlo

Zadatak

Na Arduino spojite 3 diode i jedno tipkalo. Kada je tipkalo pritisnuto neka se svjetleće diode uključuju jedna po jedna s lijeve na desnu stranu, a kada je tipkalo otpušteno neka se uključuju jedna po jedna s desne na lijevu stranu. Svaka dioda neka bude uključena pola sekunde.

Prikaz spajanja

Arduino kod
int LedCrvena1 = 6;
int LedCrvena2 = 7;
int LedCrvena3 = 8;
int Tipkalo = 10;

int StanjeTipkala;

void setup() {
  pinMode(LedCrvena1, OUTPUT);     //postavi izvod LedCrvena1 (6) kao izlazni
  pinMode(LedCrvena2, OUTPUT);     //postavi izvod LedCrvena2 (7) kao izlazni
  pinMode(LedCrvena3, OUTPUT);     //postavi izvod LedCrvena3 (8) kao izlazni
  pinMode(Tipkalo, INPUT_PULLUP); //postavi izvod Tipkalo (10) kao ulazni, pull-up
}

void loop() {
  StanjeTipkala = digitalRead(Tipkalo); //očitaj stanje izvoda i pohrani u StanjeTipkala
  if (StanjeTipkala == LOW) {         //ako je tipkalo pritisnuto
    digitalWrite(LedCrvena1, HIGH);   //uključi prvu diodu
    digitalWrite(LedCrvena2, LOW);    //isključi drugu diodu
    digitalWrite(LedCrvena3, LOW);    //isključi treću diodu
    delay(500);                       //čekaj pola sekunde
    digitalWrite(LedCrvena1, LOW);    //isključi prvu diodu
    digitalWrite(LedCrvena2, HIGH);   //uključi drugu diodu
    digitalWrite(LedCrvena3, LOW);    //isključi treću diodu
    delay(500);                       //čekaj pola sekunde
    digitalWrite(LedCrvena1, LOW);    //isključi prvu diodu
    digitalWrite(LedCrvena2, LOW);    //isključi drugu diodu
    digitalWrite(LedCrvena3, HIGH);   //uključi treću diodu
    delay(500);                       //čekaj pola sekunde
  } else {                            //inače
    digitalWrite(LedCrvena1, LOW);    //isključi prvu diodu
    digitalWrite(LedCrvena2, LOW);    //isključi drugu diodu
    digitalWrite(LedCrvena3, HIGH);   //uključi treću diodu
    delay(500);                       //čekaj pola sekunde
    digitalWrite(LedCrvena1, LOW);    //isključi prvu diodu
    digitalWrite(LedCrvena2, HIGH);   //uključi drugu diodu
    digitalWrite(LedCrvena3, LOW);    //isključi treću diodu
    delay(500);                       //čekaj pola sekunde
    digitalWrite(LedCrvena1, HIGH);   //uključi prvu diodu
    digitalWrite(LedCrvena2, LOW);    //isključi drugu diodu
    digitalWrite(LedCrvena3, LOW);    //isključi treću diodu
    delay(500);                       //čekaj pola sekunde
  }
}