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.