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, usemillis(). - 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().