contatore led arduino: c'è un modo più semplice?

Salve a tutti questo è il mio primo post. Ho acquistato da poco il mio primo arduino e dopo un paio di prove ho provato a scrivere il mio primo programma. In pratica consinste in un contatore che conta, appunto, fino a 3, accendendo ogni volta un led. Non avendo mai programmato in C, questo è quello che sono riuscito a fare:

int Pin1=9; int Pin2=10; int Pin3=11; int Cont=0;

void setup() { pinMode (Pin1, OUTPUT); pinMode (Pin2, OUTPUT); pinMode (Pin3, OUTPUT); }

void loop() { delay (1500); if (Cont = 0) { Cont = Cont++; } else { } delay (1500); if (Cont = 1) { digitalWrite (Pin1, HIGH); Cont = Cont++; } else { } delay (1500); if (Cont = 2) { digitalWrite (Pin2, HIGH); Cont = Cont++; } else { } delay (1500); if (Cont = 3) { digitalWrite (Pin3, HIGH); Cont = Cont++; } else { } delay (1500); if (Cont = 4) { Cont = 0; digitalWrite (Pin1, LOW); digitalWrite (Pin2, LOW); digitalWrite (Pin3, LOW); } else { }

}

Non esiste un modo per indicizzare le variabili Pin e poi fare tutto con un ciclo for?

Prova cosi, l’ho scritto di fretta, ma dovrebbe andare:

void setup() {
  pinMode (9, OUTPUT);
  pinMode (10, OUTPUT);
  pinMode (11, OUTPUT);
}

void loop() { 
  for(int i=9; i<12; i++){
  digitalWrite(i, HIGH);
  delay(1000);
  }
  
  for(int i=9; i<12; i++){
  digitalWrite(i, LOW);
  }
}

Perfetto grazie manca però un delay(1000) in fondo, altrimenti il primo ciclo di for parte subito e il primo led rimane sempre acceso. Ti ringrazio moltissimo!

Si hai ragione, comunque i tempi li gestisci con delay() o millis() sparsi dove ti servono. Ciao ciao