delay()

delay(ms)

Sabe aquele LED que pisca ligando e desligando? É o delay() que segura o tempo entre uma coisa e outra. Ele simplesmente pausa tudo pelo número de milissegundos que você pedir (1000 ms = 1 segundo).

Sintaxe

delay(ms);

Parâmetros

  • ms: quantos milissegundos esperar. É um unsigned long (aceita de 0 até ~4,29 bilhões).

Retorno

Nada (void).

Exemplo

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);   // meio segundo aceso
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);   // meio segundo apagado
}

Notas e cuidados

  • O delay() trava o Arduino: durante a pausa ele não lê botões, não atualiza sensores, nada. Pra fazer várias coisas ao mesmo tempo, use millis().
  • Interrupções e a comunicação serial que já estava em andamento continuam funcionando por baixo dos panos, mas seu loop() fica congelado.
  • Pra pausas menores que 1 ms, use delayMicroseconds().

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker