delayMicroseconds()

delayMicroseconds(us)

Quando você precisa de uma pausa bem curtinha — daquelas que o delay() nem enxerga —, entra o delayMicroseconds(). Um microssegundo é um milionésimo de segundo (1000 µs = 1 ms). É muito usado pra gerar pulsos precisos, como o disparo do sensor ultrassônico HC-SR04.

Sintaxe

delayMicroseconds(us);

Parâmetros

  • us: quantos microssegundos esperar. É um unsigned int.

Retorno

Nada (void).

Exemplo

const int PINO_TRIG = 9;

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

void loop() {
  // pulso de disparo de 10 microssegundos
  digitalWrite(PINO_TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(PINO_TRIG, LOW);

  delay(100);
}

Notas e cuidados

  • No Arduino Uno, o maior valor confiável é 16383 µs. Pra esperas maiores, use delay().
  • A precisão real é de poucos microssegundos — não conte com exatidão absoluta, principalmente com valores muito pequenos (abaixo de ~3 µs).
  • Assim como o delay(), ele trava o processador durante toda a pausa.

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

Conhecer o Curso Maker