Arduino millis con Ejemplos y su uso

Arduino millis – Introducción

En Arduino millis es una función que se usa para medir tiempo. Está instrucción te da el tiempo en milisegundos desde que se encendió la tarjeta Arduino. Una de los principales usos es el determinar el tiempo que ha pasado entre dos o más procesos del programa principal. Por ejemplo, para evitar el debouce en un botón de entrada. Es decir, que mide el tiempo entre el primer pulso de entrada del boton hasta el tiempo X. Es decir hasta que pase un tiempo X después del primer impulso, es que se procede a ejecutar la función del botón.

Otra aplicación de la Arduino millis es la de averiguar el tiempo de ejecución en etapas criticas del código. Esto es para asegurar un tiempo real en la aplicación.

Es importante mencionar que el dato que regresa la función de Arduino millis, require de una variable del tipo unsigned long. Si se usará otra más pequeña pueden ocurrir errores de lógica.

Sintaxis:

Variable = millis();

Parámetros de entrada:

  • Ninguno.

Parámetros de salida:

  • Variable unsigned long. El valor de desbordamiento ocurriría a los 50 días aproximadamente.

 

Arduino millis - Introduccion

Ejemplos de uso

Ejemplo-1. Usando en Arduino millis, se imprimira cada segundo un mensaje sin usar retardos

En este ejemplo se hará uso de la función millis, se usará para calcular si ha pasado 1 segundo. Entonces para lograr este propósito se requieren dos variables del tipo u-long para guardar dos eventos de tiempo. La primera variable, tiempo-1, guardará el tiempo antes de ejecutar a la función loop indefinidamente. Posteriormente y en cada iteración de la función loop, se medirá el tiempo transcurrido y se guardará en la variable tiempo-2. Para luego en una sentencia «if» hacer una evaluación. Dicha evaluación permitirá ver si el tiempo-2 (Que se actualiza regularmente) ha superado a el tiempo inicial + 1000 milisegundos más. Esto indicaría que ha pasado 1 segundo de tiempo en el microcontrolador de Arduino.

Si esta sentencia es verdadera, entonces se harán tres cosas:

  • Actualizar el tiempo-1, para continuar con el siguiente segundo.
  • Calcular el tiempo en segundos desde que se prendio el Arduino, es decir, millis()/1000. Recordemos que 1000 misegundos son 1 segundo.
  • Imprimir el tiempo en segundos desde que se encendió el Arduino usando millis().

Código del ejemplo-1

 

Ejemplo-2 . Usar en el lenguaje Arduino a la función millis() para medir el tiempo entre dos mensajes seriales

Para este ejemplo, se usara a la función millis() para calcular el tiempo que ha transcurrido desde que un usuario ingresa la letra A y hasta que ingresa otra letra B.

Código del ejemplo-2.

Otras funciones de Arduino:

Autor:

Dr. Rubén E-Marmolejo

Profesor Universidad de Guadalajara, México

7 Comments

  1. juan julio 13, 2018
  2. jhonsnail_23blue@hotmaill.com julio 26, 2018
  3. Pepe Rodríguez noviembre 23, 2018
  4. Alex Contreras junio 19, 2019
  5. Enmanuel Montero agosto 11, 2019
  6. ruben estrada agosto 11, 2019
  7. Edmundo octubre 5, 2019

Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.