Blog de indusele

EJEMPLO 2. Cómo hacer parpadear un LED sin emplear 'delay'

¿Qué tal? ¿Os salió el ejemplo 1? De ser así es el momento de seguir avanzando con Arduino. Vamos a probar a intentar hacer el parpadeo sin emplear 'delay'. 

En este caso van a entrar en juegos otras variables. En primer lugar, defino la variable LED en 13 como antes ya que no he cambiado el montaje (sólo me voy a centrar en cambiar la programación). Luego tengo que definir:

·  Una variable entero “estado” (indico que inicialmente el LED está apagado).

·  Una variable long sin signo llamada “previoMillis”

·  El intervalo de segundos que quiero para el parpadeo (en este caso, el led permanecerá apagado/encendido durante 1 segundo).

Dentro del programa principal tengo que definir una tercera variable “contajeMillis” la cual coincide con el resultado de aplicar el comando millis() el cual se emplea para devolver el tiempo en milisegundos desde que el programa arranca. Si el tiempo que tarda en arrancar menos la variable de tiempo previo es mayor o igual al intervalo que he especificado se ejecuta el comando if (si el LED está encendido se tiene que apagar y viceversa) y el valor previo de Millis pasa a ser el del contaje porque cada parpadeo ejecuta el programa sin tener en cuenta lo anterior.

Para entenderlo, es como si un alumno acude a clase y le pregunta una duda al profesor. Evidentemente el profesor no puede decir que esa duda ya la explicó el año pasado porque ese alumno no asistía todavía a sus clases, tendrá que impartir su asignatura como si fuera la primera vez que lo hace sin pensar en que ya lo ha dado otros años.

 

Y con esto se pueden hacer muchas otras pruebas, en mi caso, intenté mantener parpadeando el de 10, encendidos el 11 y 12 y apagado el 13 pero hay múltiples combinaciones.

“Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo.” Benjamin Franklin


Comentarios

No hay ningún comentario

Añadir un Comentario: