CONTENIDO ►
La función millis Arduino juega un papel importante a la hora de escribir un programa multitarea. Hay muchos proyectos de Arduino publicados en nuestro sitio web que utilizan la función millis, en los que hay que contar el tiempo. Consideremos la aplicación del comando millis() para el control del tiempo en la programación de microcontroladores de la familia Arduino y cómo función millis() en lugar de delay() en un programa.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- LED y resistencia de 220 Ohm;
- placa de pruebas;
- cables de conexion.
Función millis() Arduino IDE descripción
La función millis del lenguaje de Arduino IDE devuelve el número de milisegundos que han transcurrido desde que se inició el programa. El contador de tiempo se pone a cero cuando el valor de la variable unsigned long se desborda (al cabo de unos 50 días). La función millis del Arduino permite que el microcontrolador sea multitarea, ya que la ejecución del programa no se detiene y se pueden realizar otras operaciones en paralelo.
Cómo utilizar la función millis Arduino – ejemplo

Cuando se utiliza la función de retardo en un programa, la ejecución de todos los comandos se detiene durante un número determinado de milisegundos. Esta es la principal diferencia entre millis() y delay() en lenguaje de Arduino. Cuando se conectan sensores, es necesario obtener datos continuos, por lo que la función delay se sustituye por millis Arduino. En el ejemplo con un LED parpadeante, mostramos cómo hacer un retardo sin delay.
Usando la función millis() en lugar de delay()
unsigned long timer; boolean ledState = 0; void setup() { pinMode(13, OUTPUT); Serial.begin(9600); timer = millis(); } void loop() { if (millis() - timer > 1000) { ledState=!ledState; // cambiar el estado del LED digitalWrite(13, ledState); timer = millis(); } Serial.print("Time: "); Serial.println(timer); }
Explicación del código uso millis en lugar de delay:
- el monitor del puerto serie muestra el número de ms transcurridos desde el inicio del programa.
Conclusión. El comando micros y millis de Arduino no detiene la ejecución del programa, sino que inicia la cuenta atrás desde el principio del contador de milisegundos. Por el contrario, delay y delayMicroseconds detienen la ejecución del programa durante un número especificado de milisegundos o microsegundos respectivamente. El uso de uno u otro retardo para el microcontrolador Arduino depende de la tarea a realizar.

Deja una respuesta