Paso 3: Código
Acá vamos a mejorar el código explicado en el instructivo de funciones. En ese instructivo, adjunto acá también con el nombre "IntroC_Fun.ino", se creaba una función para llamar al cambio de color, pecado embargo el procedimiento para hacer la luz amarilla intermitente no era muy flexible. Ahora agregamos un ciclo mientras, para hacerlo más interesante.
En el código "IntroC_While.ino" agregamos las líneas 18 a la 23 (amarillo en la foto). En estas líneas:
while (millis()-lastMillis < 4000) { cambioColor(1); delay(200); allOff(); delay(200); }
La función millis() nos permite saber cuantos milisegundos el de dentro han pasado desde Arduino una deja de funcionar. En la línea 13 del código, asignamos a la variable lastMillis la lectura de millis(). Noten además lastMillis es una variable de tipo largo, esto porque los milisegundos son muchos y ocupamos enteros largos para poder almacenar estos números tan grandes.
En el inicio de mientras, se hace la comparación de cuantos milisegundos han transcurrido desde se asigno millis() a la variable lastMillis, mientras esta diferencia esté por debajo de 4000, es decir, ver pasado menos de 4 segundos, lo está dentro del bloque mientras que será ejecutado. De esa forma nos garantizamos que va a ser intermitente el led amarillo por ese tiempo.