This works for me:
/*
For Loop Iteration
Demonstrates the use of a for() loop.
Lights multiple LEDs in sequence
The circuit:
* LEDs from pins 2 through 9 to ground
Schemi:
- http://lab.piffa.net/schemi/8_led_single_res_bb.png
- http://lab.piffa.net/schemi/8_led_single_res_schem.png
http://www.arduino.cc/en/Tutorial/ForLoop
*/
byte ledPins[] = {
9, 10, 11, 12
}
; //Array
long previousMillis ;
long interval = 1000;
byte i = 0;
void setup() {
for (int thisPin = 0; thisPin < sizeof(ledPins); thisPin++) {
pinMode(ledPins[thisPin], OUTPUT);
}
previousMillis = millis();
}
void loop() {
if (millis() - previousMillis > interval) {
previousMillis = millis();
if ( i < sizeof(ledPins) - 1 ) {
// Spegni precedente led
digitalWrite(ledPins[i], LOW);
// Accendi successivo led
digitalWrite(ledPins[++i ], HIGH);
}
else if (i == sizeof(ledPins) - 1 ) {
// Ultimo caso
i = 0;
previousMillis = millis();
digitalWrite(ledPins[i ], HIGH);
digitalWrite(ledPins[ sizeof(ledPins) - 1 ], LOW);
}
}
}