Función delay retardos de tiempo en Arduino

Las funciones de Arduino delay() y delayMicroseconds() juegan un papel importante y es casi imposible escribir la mayoría de los programas sin estos comandos. En nuestro sitio web encontrará muchos tutoriales y proyectos en los que necesita controlar el tiempo con delay(), por ejemplo, para evitar que el contacto parpadee al pulsar el botón. Veamos el propósito y la aplicación de los comandos de retardo en la programación de Arduino Uno.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • LED y resistencia de 220 Ohm;
  • placa de pruebas;
  • cables de conexion.

Que significa delay en Arduino IDE, descripción

La función delay Arduino IDE detiene la ejecución del programa durante un número determinado de milisegundos (1 segundo corresponde a 1000 milisegundos). Mientras el programa se retrasa con delay(), no se puede interrogar a los sensores conectados a la placa ni realizar otras operaciones, como escribir datos en la EEPROM del Arduino. También es posible utilizar la función millis(). Véase el ejemplo de programa más abajo.

La función delayMicroseconds Arduino detiene la ejecución del programa durante un número especificado de microsegundos (1 segundo cuenta 1.000.000 microsegundos). Si se necesita un retardo de más de unos pocos miles de microsegundos en un código, se recomienda utilizar la función delay(). Vamos a demostrar con un ejemplo sencillo el uso de la función en el sketch para hacer parpadear el LED incorporado en el Arduino.

Cómo utilizar la función delay Arduino – ejemplo

Cómo se controla la intensidad de un LED
Cómo se controla la intensidad de un LED (que es delay en Arduino)

Función delay y delayMicroseconds retardos de tiempo en Arduino se encuentra a menudo en los programas. Si quieres saber cómo sustituir delay por millis en el lenguaje de programación Arduino, ya lo hemos investigado. A continuación desglosaremos el propósito básico de la función de retardo con el ejemplo de un LED parpadeante. Sólo necesitarás la propia placa Arduino, pero puedes conectar el LED al pin 13 de Arduino.

Función delay retardos de tiempo en Arduino

void setup() {
   pinMode(13, OUTPUT);
}
 
void loop() {
   digitalWrite(13, HIGH);
   delayMicroseconds(1000);
   digitalWrite(13, LOW);
   delayMicroseconds(1000);

   digitalWrite(13, HIGH);
   delay(1000);
   digitalWrite(13, LOW);
   delay(1000);
}

Explicación del código uso millis en lugar de delay:

  1. delayMicroseconds() detiene el programa durante el tiempo especificado en los parámetros. Hay 1.000 microsegundos en un milisegundo y un millón de microsegundos en un segundo.

Conclusión. La función millis 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. La aplicación de un retardo determinado en un programa de microcontrolador Arduino depende de la tarea que se esté realizando.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *