Pourquoi devons-nous clignoter sans utiliser la fonction de retard () dans Arduino
La fonction de retard () produit un délai d'une période définie dans l'exécution des instructions ou que nous pouvons dire que la fonction de retard () fait une pause tout le programme et qu'aucune déclaration ne sera exécutée jusqu'à ce que le retard () n'arrive pas à une fin.
Cela signifie que nous ne pouvons effectuer aucune autre tâche tant que le retard n'est pas terminé, c'est la principale préoccupation de la raison pour laquelle il est parfois découragé d'utiliser la fonction de retard (). Considérons l'exemple d'un homme de messagerie, il va à la maison et ne trouve personne à domicile, ont déclaré les voisins, la personne concernée sera de retour chez lui dans une heure. Maintenant, que devrait faire le Courier-Man? Soit il peut attendre ou peut livrer les parcelles des clients voisins et revenir après une heure pour livrer le colis de cette personne.
De même, dans la programmation, nous ne recommandons pas d'utiliser la fonction de retard () et de faire une pause dans l'ensemble du programme pendant un certain temps, au lieu de cela, nous préférons effectuer une autre tâche pendant que la LED clignote.
Clignoter sans utiliser le code de fonction de retard () dans Arduino
Dans Arduino, nous pouvons clignoter des LED sans utiliser la fonction de retard () par un code très simple. Avant de passer par le code, expliquons l'objectif de certaines fonctions intégrées qui sont utilisées dans le code:
Les fonctions | But |
---|---|
pinMode () | Cette fonction est utilisée pour définir la broche spécifique pour agir comme une sortie ou une entrée |
DigitalWrite () | Cette fonction est utilisée pour configurer la broche en fonction des états élevés ou bas |
En série.commencer() | Cette fonction est utilisée pour la communication série |
millis () | Cette fonction est utilisée pour extraire le temps d'exécution du code en millisecondes |
Considérez le code suivant:
int led = 13;
int x = 1;
Long D1 non signé, D2;
void setup()
PinMode (LED, sortie);
DigitalWrite (LED, 1);
En série.commencer (9600);
VOID LOOP ()
d2 = millis ();
if (d2-d1> = 1000)
x = 1-x;
d1 = millis ();
DigitalWrite (LED, X);
L'explication du code ci-dessus est:
Simulation
Nous exécuterons ce code dans la simulation Proteus, nous ouvrirons le Proteus et trouverons les composants suivants:
Connectez la borne de la résistance à la broche 13 d'Arduino, connectez la borne positive de la LED avec l'autre terminal de la résistance et connectez le sol avec la borne négative de la LED. Une fois le circuit terminé, double-cliquez sur Arduino et téléchargez un fichier «hexadécimal» du code Arduino.
Jouez le projet et la LED commencera à clignoter comme indiqué ci-dessous:
Configuration matérielle
Le même circuit simulé sur le protéus sera assemblé sur la planche à pain. Nous avons utilisé des fils de cavalier pour connecter les composants LED, Arduino et Resistor:
Le fil de cavalier noir est connecté au sol de l'Arduino et à la borne négative de la LED. Ensuite, une résistance (220 ohms) est connectée à la borne positive de la LED et une autre étape de la résistance (220 ohms) est connectée à la broche 13 d'Arduino à l'aide du fil de cavalier rouge. Le code est déjà téléchargé sur l'Arduino, le fonctionnement du projet est:
La LED est en train de clignoter avec succès sans utiliser la fonction de retard ().
Conclusion
La fonction Blink sans retard () dans Arduino est le projet au niveau débutant qui est utilisé pour démontrer comment le projet peut être exécuté sans utiliser la fonction de retard (). Sans utiliser la fonction de retard (), nous ne sommes pas limités à une seule tâche et pouvons exécuter toute autre instruction du code. Dans cet article, nous avons expliqué la fonction LED Blink sans retard () dans Arduino à l'aide d'une démonstration de sa simulation ainsi que de sa configuration matérielle.