LOL normalno da ti blinka samo default stanje kad očitavaš ulaz iz Seriala IZVAN loopa i to točno jednom! Znači, očitaš ga samo jednom, i to odmah nakon pokretanja, slično kao da ga očitavaš u setupu.
Preporučio bih ti da prvo usvojiš osnove programiranja, jer sve ovo što radiš se u prvom redu tiče programiranja, a tek onda Arduina ili elektronike - fale ti osnove osnova. Znači, prvo prođi neki tutorijal za C++, pa se onda baci na Arduino.
Ovu tvoju situaciju bi bilo smislenije riješiti s jednodimenzionalnim poljem ledica, npr.
const byte brojLedica = 4;
byte ledice[brojLedica] = {3, 4, 5, 6}; // pinovi za ledice, s tim da bi ti prva ledica bila default, odnosno ledica s indeksom 0
I onda to provučeš kroz setup tako da im postaviš output u petlji.
for (byte i = 0; i < brojLedica; i++) {
pinMode(ledice[i], OUTPUT);
}
prije loopa DEKLARIRAŠ aktivnu ledicu:
byte aktivnaLedica = 0; // rekli smo da će ti defaultna ledica biti ona u indeksu 0
UNUTAR loopa učitavaš vrijednost koju je korisnik upisao.
if (Serial.available()) {
aktivnaLedica = Serial.parseInt();
Serial.read(); // da makne Enter iz serijskog ulaza
// provjeriš da nije korisnik upisao neku problematičnu vrijednost - ako je, aktivnu ledicu prebaciš u defaultnu
if (aktivnaLedica >= brojLedica) aktivnaLedica = 0;
}
Napomena: ovo iznad podrazumijeva da korisnik unosi brojeve od 0 do 3. Ako bi htio da unosi brojeve od 1 do 4, onda bi kod učitavanja stavio aktivnaLedica = Serial.parseInt() - 1;
Također primijeti da sam varijabli aktivnaLedica stavio tip byte - znači tip koji ne može biti negativan. Ako bi za tu varijablu koristio tip int, onda bi trebao provjeravati i za negativne brojeve, znači da netko ne bi slučano upisao recimo -1.
I onda pališ i gasiš aktivnu ledicu:
Serial.print("Kod");
Serial.println(aktivnaLedica);
digitalWrite(ledice[aktivnaLedica], HIGH);
delay(1000);
digitalWrite(ledice[aktivnaLedica], LOW);
delay(1000);
Iako... Delayeve bi trebalo izbjegavati jer blokiranju procesor (kroz to vrijeme se ništa drugo ne radi, osim eventualno provjerava za interrupte) i umjesto toga trebao bi uzimati trenutno vrijeme i gledati je li prošlo x milisekundi od početka aktivnosti kojoj ograničavaš trajanje, ali o tom potom - prvo savladaj ove stvari.