Comment utiliser la fonction de retardmicrosecondes - Arduino

Comment utiliser la fonction de retardmicrosecondes - Arduino
Il existe un grand nombre de fonctions utiles dans la langue C / C ++ utilisée pour programmer le microcontrôleur Arduino. De telles fonctions peuvent faciliter la mise en œuvre du projet en facilitant le fonctionnement du code comparativement plus compréhensible. L'une des fonctions qui aident fortement à faire la logique du programme est le DelayMicrosecondes () fonction. Pour comprendre comment fonctionne cette fonction, nous avons expliqué cette fonction d'une manière très complète.

Qu'est-ce que DelayMicRosecondes () Fonction dans Arduino

Il est évident d'après le nom de la fonction qu'il est utilisé pour arrêter le fonctionnement du code Arduino pour une période de microsecondes données par l'utilisateur. Cette fonction est utile lorsque le programme prend soit des entrées de l'extérieur, soit de contrôler certains appareils comme la fonction de retard (). Pour utiliser la fonction deltMicRoseconds (), nous devons suivre la syntaxe publiée ci-dessous:

DelayMicrosecondes (temps en microsecondes);

Pour utiliser la fonction deltMicRoseconds (), nous devons donner le temps comme argument et il arrêtera le programme pour le temps donné.

Pour illustrer comment nous pouvons utiliser la fonction de retardmicroseconds (), nous avons donné les deux exemples de codes qui vous aideront à comprendre l'utilisation de cette fonction.

Utilisation de la fonction de retardmicroseconds pour clignoter la LED plus rapidement

Pour démontrer comment cette fonction a interrompu le flux de code Arduino, nous avons utilisé l'exemple de clignotant de LED. Ci-dessous, nous avons donné le code pour le clignotement LED dans lequel nous avons clignoté la LED en modifiant ses états en utilisant la fonction numérique () et entre le changement d'état, nous avons donné le retard des microsecondes.

void setup()
pinmode (7, sortie); / * attribuer le mode de travail de la broche à laquelle la LED est connectée * /

VOID LOOP ()
DigitalWrite (7, haut); / * donnant une valeur élevée à la fonction pour allumer la LED sur * /
DelayMicrosecondes (1000); / * Afin de rendre la LED à l'état élevé pendant un certain temps * /
DigitalWrite (7, bas); / * Donner une faible valeur à la fonction pour éteindre la LED OFF * /
retard (1000); / * Afin de faire clignoter la LED à l'état bas pendant un certain temps * /

Utilisation demicrosecondes de retard pour générer l'impulsion du capteur de distance

Pour générer les impulsions du capteur de distance, la fonction de retardMicroseconds () est principalement utilisée car la plupart du temps, des impulsions courtes doivent être générées. L'impulsion est générée en donnant des états élevés et bas à la broche de déclenchement du capteur de distance et entre le changement des états, nous avons donné le retard en microsecondes.

En bref, nous pouvons dire que nous avons généré l'impulsion en modifiant l'état de la broche de déclenchement avec un retard en utilisant la fonction de retardmicroSondes (). La génération d'impulsions peut servir plusieurs fins, dont l'une est que nous pouvons les utiliser pour mesurer les distances des obstacles des objets respectifs ou que nous pouvons mesurer la vitesse des obstacles à venir. Pour montrer comment nous pouvons générer une impulsion de quelques microsecondes, nous avons donné le code Arduino respectif ci-dessous:

int trig = 7; // broche arduino pour la broche de déclenchement si le sénateur
int echo = 6; // broche arduino pour la broche d'écho du capteur
float d, dist; // variable qui stocke la durée et la distance calculées
void setup()
En série.commencer (9600); // Taux de communication pour la communication en série
// donnant des modes de travail à la gâchette et écho à la broche du capteur
PinMode (trig, sortie);
PinMode (Echo, entrée);

VOID LOOP ()
// Génération d'impulsions de 10 microsecondes
DigitalWrite (Trig, High);
DelayMicrosecondes (1000); // Temps en microsecondes
DigitalWrite (Trig, Low);
DelayMicrosecondes (1000); // Temps en microsecondes
DigitalWrite (Trig, High);
DelayMicrosecondes (1000); // Temps en microsecondes
DigitalWrite (Trig, Low);
d = pulsein (écho, haut); // Trouver la durée de la pouls
dist = ((d / 2) / 29.1); // Calcul de la distance couverte par l'impulsion
// Distance d'impression sur le moniteur en série
/ * Série.print ("Distance:");
En série.imprimer (dist);
En série.println ("cm"); * /
retard (500);

Les impulsions générées par le capteur de distance peuvent être vues dans l'image ci-dessous:

Conclusion

La fonction de retardmicrosecondes () est utilisée pour suspendre le flux d'esquisse Arduino pendant un certain temps en microsecondes spécifiées par l'utilisateur. Il est différent de la fonction de retard conventionnelle car la fonction de retard prend les valeurs en millisecondes qui sont supérieures aux microsecondes. Ainsi, nous pouvons dire que pour donner une petite pause au code Arduino, nous pouvons utiliser la fonction deltMicRoseconds () et cette pause peut être utilisée pour plusieurs raisons.