#define LED_PIN_1 11
#define LED_PIN_2 10
#define LED_PIN_3 9
#define LED_PIN_4 8
#define LED_PIN_5 7
#define LED_PIN_6 6
unsigned long previousMillis[6]; //[x] = number of leds
void setup() {
pinMode(LED_PIN_1, OUTPUT);
pinMode(LED_PIN_2, OUTPUT);
pinMode(LED_PIN_3, OUTPUT);
pinMode(LED_PIN_4, OUTPUT);
pinMode(LED_PIN_5, OUTPUT);
pinMode(LED_PIN_6, OUTPUT);
}
void loop() {
BlinkLed(LED_PIN_1, 3000, 0); //BlinkLed( which led, interval, one of the stored prevMillis
BlinkLed(LED_PIN_2, 3000, 1); //last parameters must be different for each led
BlinkLed(LED_PIN_3, 3000, 2);
BlinkLed(LED_PIN_4, 1500, 3);
BlinkLed(LED_PIN_5, 4000, 4);
BlinkLed(LED_PIN_6, 2000, 5);
}
void BlinkLed (int led, int interval, int array){
//(long) can be omitted if you dont plan to blink led for very long time I think
if (((long)millis() - previousMillis[array]) >= interval){
previousMillis[array]= millis(); //stores the millis value in the selected array
digitalWrite(led, !digitalRead(led)); //changes led state
}
}
// Written by FabrizioP @ Instructables.com</p>