Delay


delay(ms)

 


 

 

Descripción

Este comando detiene el programa por un periodo de tiempo (expresado en milisegundos).

 

Parámetros

ms : indica el número de milisegundos que debe pararse. 

 

Qúé Devuelve?

Nada

 

AVISO:

El número en milisegundos es de tipo unsigned long. Si usamos un entero mayor de 32767 hay que poner "UL" al final. por ejemplo: delay(60000UL); 

 

 

Ejemplo

Vamos a escribir un sencillo programa que encienda y apague un LED intermitentemente cada segundo:

int ledPin = 13;                 // LED conectado al pin digital 13

void setup()

{

  pinMode(ledPin, OUTPUT);      // Establece el pin digital como salida

}

void loop()                         //Comienza un bucle sin fin

{

  digitalWrite(ledPin, HIGH);   // Enciende el LED

  delay(1000);                       // Espera un segundo

  digitalWrite(ledPin, LOW);    // Apaga el LED

  delay(1000);                       // Espera un segundo

}

 

A tener en cuenta...

Aunque es una función bastante utilizada, hay que tener en cuenta que durante una función delay, NO SE PUEDE REALIZAR OTRA INSTRUCCIÓN, como leer de un sensor, operaciones matemáticas, manipulación de los pins... Por otro lado, la instrucción delay() no desactiva las interrupciones, permite la comunicación serie y los valores PWM (de analogWrite) se mantienen

Así que se puede utilizar otra función para controlar el tiempo: millis()