Paso 2: Una sola función para múltiples Leds
Finalmente este es el código para una sola función controlar múltiples Leds.
La variable previousMillis ha sido sostituited con un array que almacena todos los previousMillis para cada led.
Cuando se llama a la función tienes que insertar 3 argumentos: led (pin o variable), intervalo (en ms), matriz (debe ser diferente para cada led).
Esta manera cada led puede tener es intervalo propio, variables mínimas requieren (sólo la matriz) y demora nunca se utiliza.
BLINK FUNCTION FOR MULTIPLE LED #define blueLed 3 // #define greenLed 2 //pin for each led unsigned long previousMillis[2]; //[x] = number of leds void setup() { pinMode(blueLed, OUTPUT); pinMode(greenLed, OUTPUT); } void loop() { BlinkLed(blueLed, 100, 0); //BlinkLed( which led, interval, one of the stored prevMillis BlinkLed(greenLed, 200, 1); //last parameters must be different for each led } 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 @
Gracias por leerme. Yo he comprado mi primer arduino hace unos días así que si tienes consejos, sugerencia, críticas y todo por favor comenten debajo!