Como usar a Função de Atraso Microsegundos - Arduino

Como usar a Função de Atraso Microsegundos - Arduino
Há um grande número de funções úteis na linguagem C/C ++ usada para programar o microcontrolador Arduino. Tais funções podem facilitar a implementação do projeto, facilitando o funcionamento do código. Uma das funções que ajudam muito a fazer a lógica do programa é o touchmicrosegunds () função. Para entender como essa função funciona, explicamos essa função de uma maneira muito abrangente.

O que é a função de atrasoMicrosegunds () em Arduino

É óbvio a partir do nome da função que é usado para interromper o funcionamento do código Arduino por um tempo de microssegundos dados pelo usuário. Esta função é útil quando o programa está recebendo entrada de fora ou controlando alguns dispositivos como a função de atraso (). Para usar a função de touchmicrosegunds (), precisamos seguir a sintaxe postada abaixo:

toutmicmicrosegunds (tempo em microssegundos);

Para usar a função de touchmicrosegunds (), temos que dedicar o tempo como argumento e interromperá o programa para o tempo determinado.

Para ilustrar como podemos usar a função toutMicrosSegunds (), damos os dois códigos de exemplo que o ajudarão a entender o uso dessa função.

Usando a função de atrasoMicrossegunds para piscar o LED mais rápido

Para demonstrar como essa função parou o fluxo do código Arduino, usamos o exemplo do LED de LED. Abaixo, demos o código para o piscar de LED, no qual piscamos o LED alterando seus estados usando a função DigitalWrite () e entre a mudança de estado, damos o atraso dos microssegundos.

Void Setup ()
pinmode (7, saída);/*atribuindo o modo de funcionamento do pino no qual o LED está conectado*/

Void Loop ()
DigitalWrite (7, alto); / *Dando alto valor à função para ativar o LED */
toutmicmicrosegunds (1000); /* Para fazer o LED em alto estado por um tempo*/
DigitalWrite (7, baixo); /*dando baixo valor à função para desligar o LED*/
atraso (1000); /* Para fazer o LED piscar em estado baixo por um tempo*/

Usando touchmicrossegundos para gerar o pulso do sensor de distância

Para gerar os pulsos do sensor de distância, a função de retardammicrossegundos () é usada principalmente, pois na maioria das vezes, são necessários pulsos curtos para serem gerados. O pulso é gerado, dando estados altos e baixos ao pino de gatilho do sensor de distância e entre a mudança dos estados, demos o atraso nos microssegundos.

Em resumo, podemos dizer que geramos o pulso alterando o estado do pino de gatilho com um atraso usando a função de atrasoMicrosegunds (). A geração de pulsos pode servir a vários propósitos, um dos quais é que podemos usá -los para medir distâncias de obstáculos dos respectivos objetos ou medir a velocidade dos próximos obstáculos. Para mostrar como podemos gerar um pulso de poucos microssegundos, damos o respectivo código Arduino abaixo:

int trig = 7; // pino arduino para pino de gatilho se senor
int eco = 6; // Pin Arduino para Echo Pin of Sensor
flutuar d, dist; // variável que armazena a duração e a distância calculadas
Void Setup ()
Serial.BEGIN (9600); // Taxa de comunicação para comunicação serial
// dando modos de trabalho para o gatilho e o eco do sensor
pinmode (trig, saída);
pinmode (eco, entrada);

Void Loop ()
// gerando pulso de 10 microssegundos
DigitalWrite (TRIG, alto);
toutmicmicrosegunds (1000); // tempo em microssegundos
DigitalWrite (TRIG, baixo);
touchmicrossegundos (1000); // tempo em microssegundos
DigitalWrite (TRIG, alto);
toutmicmicrosegunds (1000); // tempo em microssegundos
DigitalWrite (TRIG, baixo);
d = pulseína (eco, alto); // encontrando a duração do pulso
dist = ((d/2)/29.1); // calculando a distância coberta pelo pulso
// Distância de impressão no monitor serial
/* Serial.print ("Distância:");
Serial.impressão (dist);
Serial.println ("cm");*/
atraso (500);

Os pulsos gerados pelo sensor de distância podem ser vistos na imagem abaixo:

Conclusão

A função toutMicmicrosegunds () é usada para pausar o fluxo de esboço de Arduino por um tempo em microssegundos especificados pelo usuário. É diferente da função de atraso convencional, pois a função de atraso leva os valores em milissegundos, que é maior que os microssegundos. Portanto, podemos dizer que, para dar uma pausa minúscula ao código Arduino, podemos usar a função de atrasoMicrosegunds () e essa pausa pode ser usada por vários motivos.