Cómo usar la función de retraso de microsegundos - Arduino

Cómo usar la función de retraso de microsegundos - Arduino
Hay una gran cantidad de funciones útiles en el lenguaje C/C ++ utilizado para programar el microcontrolador Arduino. Dichas funciones pueden facilitar la implementación del proyecto al hacer el funcionamiento del código relativamente más comprensible. Una de las funciones que ayudan mucho a hacer la lógica del programa es la DelayMicroseConds () función. Para comprender cómo funciona esta función, hemos explicado esta función de una manera muy completa.

¿Cuál es la función de demora microseconds () en Arduino?

Es obvio por el nombre de la función que se usa para detener el funcionamiento del código Arduino durante un momento de microsegundos dados por el usuario. Esta función es útil cuando el programa está tomando la entrada desde el exterior o controlando algunos dispositivos como la función de retraso (). Para usar la función DelayMicroseConds () tenemos que seguir la sintaxis publicada a continuación:

retrasarmicrosegundos (tiempo en microsegundos);

Para usar la función DelayMicroseConds (), tenemos que dar el tiempo como argumento y detendrá el programa durante el tiempo dado.

Para ilustrar cómo podemos usar la función DelayMicroseConds (), hemos dado los dos códigos de ejemplo que lo ayudarán a comprender el uso de esta función.

Uso de la función DelayMicroseConds para parpadear el LED más rápido

Para demostrar cómo esta función detuvo el flujo del código Arduino, hemos utilizado el ejemplo de LED parpadeo de LED. A continuación, hemos dado el código para el parpadeo LED en el que hemos parpadeado el LED cambiando sus estados usando la función digitalwrite () y entre el cambio de estado, hemos dado el retraso de microsegundos.

setup () void
PinMode (7, salida);/*Asignación del modo de trabajo de PIN al que está conectado el LED*/

bucle void ()
DigitalWrite (7, alto); / *Dar un alto valor a la función para activar el LED */
retrasarmicrosegundos (1000); /* Para hacer el LED en alto estado por un tiempo*/
DigitalWrite (7, bajo); /*Dar un valor bajo a la función para apagar el LED*/
retraso (1000); /* Para hacer que el LED parpadee en estado bajo por un tiempo*/

Usar retraso enmicrosegundos para generar el pulso del sensor de distancia

Para generar los pulsos del sensor de distancia, la función de microsegundos de retraso () se usa principalmente como la mayoría de las veces se requieren pulsos cortos para generar un pulsos cortos. El pulso se genera dando estados altos y bajos al pasador de activación del sensor de distancia y entre el cambio de los estados, hemos dado el retraso en los microsegundos.

En resumen, podemos decir que hemos generado el pulso cambiando el estado del pasador de activación con un retraso utilizando la función DelayMicroseConds (). La generación de pulsos puede cumplir múltiples propósitos, uno de los cuales es que podemos usarlos para medir distancias de obstáculos de los objetos respectivos o podemos medir la velocidad de los próximos obstáculos. Para mostrar cómo podemos generar un pulso de unos pocos microsegundos, hemos dado el respectivo código Arduino a continuación:

int trig = 7; // arduino pin para el pasador de gatillo si senor
int echo = 6; // arduino pin para el pin del sensor de eco
flotante D, dist; // variable que almacena la duración y la distancia calculada
setup () void
De serie.Begin (9600); // Tasa de comunicación para la comunicación en serie
// Dar modos de trabajo al pasador de activación y eco del sensor
PinMode (trig, salida);
PinMode (eco, entrada);

bucle void ()
// Generación de pulso de 10 microsegundos
DigitalWrite (Trig, High);
retrasarmicrosegundos (1000); // Tiempo en microsegundos
DigitalWrite (Trig, Low);
retrasarmicrosegundos (1000); // Tiempo en microsegundos
DigitalWrite (Trig, High);
retrasarmicrosegundos (1000); // Tiempo en microsegundos
DigitalWrite (Trig, Low);
d = pulsein (eco, alto); // Encontrar la duración del pulso
dist = ((d/2)/29.1); // Calculando la distancia cubierta por el pulso
// Distancia de impresión en el monitor en serie
/* Serie.imprimir ("Distancia:");
De serie.imprimir (dist);
De serie.println ("cm");*/
retraso (500);

Los pulsos generados por el sensor de distancia se pueden ver en la imagen a continuación:

Conclusión

La función DelayMicroseConds () se usa para pausar el flujo del boceto Arduino durante un tiempo en microsegundos especificados por el usuario. Es diferente de la función de retraso convencional, ya que la función de retraso toma los valores en milisegundos que es mayor que los microsegundos. Por lo tanto, podemos decir que para dar una pequeña pausa al código Arduino podemos usar la función DelayMicroseConds () y esta pausa se puede usar por múltiples razones.