Come utilizzare la funzione di ritardo dei microsecondi - Arduino

Come utilizzare la funzione di ritardo dei microsecondi - Arduino
Esistono un gran numero di funzioni utili nel linguaggio C/C ++ utilizzato per programmare il microcontrollore Arduino. Tali funzioni possono semplificare l'implementazione del progetto rendendo il funzionamento del codice relativamente più comprensibile. Una delle funzioni che aiutano fortemente a realizzare la logica del programma è il DelayMicroseconds () funzione. Per capire come funziona questa funzione abbiamo spiegato questa funzione in modo molto completo.

Cos'è DelayMicroseconds () funzione in Arduino

È ovvio dal nome della funzione che viene utilizzato per fermare il funzionamento del codice Arduino per un tempo di microsecondi dati dall'utente. Questa funzione è utile quando il programma sta prendendo input dall'esterno o controlla alcuni dispositivi come la funzione Delay (). Per utilizzare la funzione delaymicroseconds () dobbiamo seguire la sintassi pubblicata di seguito:

delaymicroseconds (tempo in microsecondi);

Per utilizzare la funzione delaymicroseconds () dobbiamo dare il tempo come argomento e fermerà il programma per il tempo dato.

Per illustrare come possiamo usare la funzione delaymicroseconds () abbiamo fornito i due codici di esempio che ti aiuteranno a capire l'uso di questa funzione.

Utilizzando la funzione Delaymicroseconds per lampeggiare il LED più velocemente

Per dimostrare come questa funzione ha messo in pausa il flusso del codice Arduino abbiamo usato l'esempio di Blink di LED. Di seguito abbiamo dato il codice per il lampeggio a LED in cui abbiamo battuto le palpebre il LED cambiando i suoi stati usando la funzione DigitalWrite () e tra la modifica dello stato abbiamo dato il ritardo dei microsecondi.

void setup ()
pinMode (7, output);/*Assegnazione della modalità di lavoro del pin in cui il LED è collegato*/

void loop ()
DigitalWrite (7, alto); / *Dare un valore elevato alla funzione per accendere il LED su */
DelayMicroseconds (1000); /* In ordine, rendere il LED in alto stato per un po '*/
DigitalWrite (7, basso); /*Dare un valore basso alla funzione per spegnere il LED*/
ritardo (1000); /* In ordine, fare le palpebre a LED in basso stato per un po '*/

Usando Delaymicroseconds per generare l'impulso del sensore di distanza

Per generare gli impulsi del sensore di distanza, la funzione delaymicroseconds () viene utilizzata per lo più poiché il più delle volte è necessario generare un impulso corto. L'impulso viene generato dando stati alti e bassi al pin di grilletto del sensore di distanza e tra il cambiamento degli stati abbiamo dato il ritardo nei microsecondi.

In breve, possiamo dire che abbiamo generato l'impulso modificando lo stato del pin di trigger con un ritardo usando la funzione DelayMicroseconds (). Generare impulsi può servire a più scopi, uno dei quali è che possiamo usarli per misurare le distanze degli ostacoli dai rispettivi oggetti o possiamo misurare la velocità dei prossimi ostacoli. Per mostrare come possiamo generare un impulso di pochi microsecondi, abbiamo dato il rispettivo codice Arduino di seguito:

int trig = 7; // pin Arduino per il pin trigger se senor
int echo = 6; // Pin Arduino per il perno eco del sensore
float d, dist; // variabile che memorizza la durata e la distanza calcolata
void setup ()
Seriale.Inizia (9600); // Tasso di comunicazione per la comunicazione seriale
// Dare modalità di lavoro al grilletto e al pin di eco del sensore
pinMode (trig, output);
pinMode (eco, input);

void loop ()
// Generazione di impulsi di 10 microsecondi
DigitalWrite (trig, alto);
DelayMicroseconds (1000); // Tempo in microsecondi
DigitalWrite (trig, basso);
DelayMicroseconds (1000); // Tempo in microsecondi
DigitalWrite (trig, alto);
DelayMicroseconds (1000); // Tempo in microsecondi
DigitalWrite (trig, basso);
D = pulseina (eco, alto); // Trovare la durata dell'impulso
dist = ((d/2)/29.1); // Calcolo della distanza coperta dall'impulso
// Distanza di stampa sul monitor seriale
/* Seriale.stampa ("distanza:");
Seriale.stampa (dist);
Seriale.println ("cm");*/
ritardo (500);

Gli impulsi generati dal sensore di distanza possono essere visti nell'immagine sottostante:

Conclusione

La funzione delaymicroseconds () viene utilizzata per mettere in pausa il flusso dello schizzo Arduino per un tempo in microsecondi specificati dall'utente. È diverso dalla funzione di ritardo convenzionale in quanto la funzione di ritardo prende i valori in millisecondi che è maggiore dei microsecondi. Quindi, possiamo dire che per dare una piccola pausa al codice Arduino possiamo usare la funzione DelayMicroseconds () e questa pausa può essere utilizzata per molteplici motivi.