Explica melhor!

Física, matemática e robótica.


delay

Eventualmente útil e algumas vezes questionável, o comando delay serve para interromper a leitura do programa por um certo período de tempo. Esse tempo é indicado em milisegundos, ou seja, a cada 1000 temos 1 s de intervalo. Vamos usar a mesma montagem do LED para exemplificar:

A montagem
O programa

Não há nada de novo no setup, o pino 9 está sendo definido como OUTPUT. Vamos então à descrição do loop, que é onde a mágica acontece:

  • na linha 7, usamos digitalWrite para jogar energia no pino 9 e acender o LED.
  • na linha 8, usamos o comando delay para que o Arduino espere 1000 milisegundos antes de continuar, ou seja, ele vai esperar por 1 s.
  • na linha 9, exatamente um segundo depois de ter executado a linha 7, o Arduino executará o digitalWrite para apagar o LED.
  • na linha 10, usamos novamente o delay para que o Arduino espere por 1 s antes de retornar para o começo e repetir tudo novamente.

Repare que precisamos usar o delay duas vezes. Isto faz sentido pois queremos que o LED fique aceso por 1 s e fique apagado por 1 s. Se um dos delay não existisse, teríamos a impressão de que o LED está constantemente aceso ou constantemente apagado:

Neste caso, o LED parece constatemente aceso…
…e neste caso, o LED parece constantemente apagado.

Os dois programas acima funcionam, mas nenhum deles deixa o LED piscando como queremos.

É possível interromper o Arduino por tempo bem pequenos, em microsegundos. Repare, 1000 microsegundos é igual a 1 milisegundo, ou seja, 1 s é igual a 1000000 microsegundos. Isto é feito com o comando delayMicroseconds(), que funciona da mesma forma que o delay, porém cada 1000 declarado equivale a 1 milisegundo:

delayMicroseconds (1000) = delay (1)

O delay possui o incoveniente de interromper o funcionamento do Arduino por um certo período, o que pode prejudicar a leitura de vários sensores. Isto ocorre por que, basicamente, o delay desliga todo o Arduino enquanto espera o final do delay. Um pouco mais adiante veremos como contornar isso adequadamente.

Exercícios

Obs.: depois de clicar em enviar, suba a página para ver os resultados.

Deixe um comentário