C/C++ En Arduino: Ciclos tag (3 / 4 steg)
Steg 3: Código
ACÁ vamos en mejorar el código explicado en el instructable de funciones. En ese instructable, que adjunto acá también con el nombre "IntroC_Fun.ino", se creaba una función para llamar al cambio de färg, synd embargot el procedimiento para hacer la luz amarilla intermitente ingen eran muy flexibla. Ahora agregamos un ciclo medan, para hacerlo más interesante.
En el código "IntroC_While.ino" agregamos las líneas 18 a la 23 (amarillo sv la foto). Sv estas líneas:
medan (millis ()-lastMillis < 4000) {
cambioColor(1);
Delay(200);
allOff();
Delay(200);
}
La función millis() nos permite sabel cuantos milisegundos han pasado desde que inició el Arduino en funcionar. En la línea 13 del código, asignamos a la variabel lastMillis la lectura de millis(). Noten que además lastMillis es una variabel tipo lång, esto porque los milisegundos son muchos y ocupamos enteros largos para poder almacenar estos números tan grandes.
En el inicio de medan, se hace la comparación de cuantos milisegundos han transcurrido desde que se asigno millis() a la variabel lastMillis, mientras esta diferencia esté por debajo de 4000, es decir, hayan pasado menos de 4 segundos, lo que está dentro del bloque medan será ejecutado. De ens forma nos garantizamos que va en ser intermitente el ledde amarillo por ese tiempo.