Paso 3: Una función utilizable por cualquier led
Y aquí está el código final con un segundo led.
el único var para declarar fuera de la función es la matriz, que almacena el valor de millis para cada uno de los led que desea utilizar.
Para cuando se llama a la función que tenga que escriba: que condujo, en tiempo, tiempo, posición de la matriz (que es única para cada led).
#define redLed 5#define bluLed 6long previousMillis[2]; //[x] = number of ledsvoid setup() { pinMode(redLed, OUTPUT); pinMode(bluLed, OUTPUT); } void loop() { //OnOffBlink(which led?, tOn, tOff, One of the previousMillis); OnOffBlink(redLed, 300, 500, 0); //array must be different OnOffBlink(bluLed, 300, 300, 1); //for each led }void OnOffBlink(int led, int tOn, int tOff, int array){ static int timer=tOn; if ((millis() - previousMillis[array]) >= timer) { if (digitalRead(led) == HIGH) { timer = tOff; } else { timer = tOn; } digitalWrite(led, !digitalRead(led)); previousMillis[array] = millis(); } }
Espero que les guste.
Si tienes consejos, sugerencia, críticas y todo por favor comentario abajo!