/*
https://www.youtube.com/watch?v=1uCHZpt-834
Instrucciones delay, millis,min y max
Función delay detiene la ejecución del programa una cantidad de milisegundos
indicado en el paréntesis. el formato es delay(); ejemplo delay(1000)
esta función se suele emplear como temporizador. El problema de
esta función delay() es que como detiene el programa mientras se está
ejecutando, si se produjese un evento este no se ejecutaría hasta que
terminase el proceso de delay().
Función millis esta función te devuelve la cantidad de milisegundos que
se está ejecutando un programa, por lo tanto se puede utilizar como temporizador
cpmo añternativa a la función delay.
La función millis() la asignamos a una variable por ejemplo tiempo.
tiempo = millis().Como la función millis()puede admitir hasta 50 días
ya que es de 32 bits sería 2^32 entonces deberiamos utilizar una
variable de 32 bits sin signo como unsigned long tiempo = 0.
Cuando yo llame a la función millis(), mos devolverá en la variable
tiempo losmilisegundos que hayan discurrido.Esta función mills() se resetea cada
50 dias por el desbordamiento y vuelve a empezar.
Programa que hace parpadear a un led con la instrucción mils()
*/
bool memoriza_estado_led = false; // memoriza el estado del led si está encendido o apagado.
int tiempo_ON_OFF = 1000; //variable que define el tiempo que está el led en ON y OFF
unsigned long tiempo_trascurrido =0; // memoriza el tiempo transcurrido desde la última vez
//que cambio el led de estado.
int led = 13; // Usamos el pin 13 para conectar el led
void setup()
{
pinMode (led,OUTPUT); // Configuro el pin 13 como salida.
}
void loop()
{
if(millis()-tiempo_trascurrido>= tiempo_ON_OFF) //ejecuta si el tiempo transcurrido desde
//el último cambio>=1000 milisegundos
{
memoriza_estado_led =! memoriza_estado_led; // si el estado es oN pasa a OFF y viceversa
digitalWrite(led, memoriza_estado_led); //Actúa sobre el led
tiempo_trascurrido=millis(); // memoriza el tiempo trascurrido desde que cambió el estado del led.
}
}