CONSTRUIRE LE CIRCUIT
Connectez votre plaque d'essai aux connexions 5 V et à la masse de l'Arduino, comme pour le projet précédent. Placez les deux LED rouges et la LED verte sur la plaque d'essai. Reliez la cathode (courte branche) de chaque LED à la masse via une résistance de 220 ohms.
Connectez l'anode (longue branche) de la LED verte à la broche 3.
Connectez les anodes des LED rouges aux broches 4 et 5, respectivement.

Vous devrez également ajouter une résistance de 10 kOhms reliant la masse à la broche de l'interrupteur connectée à l'Arduino. Cette résistance de rappel relie la broche à la masse lorsque l'interrupteur est ouvert. Elle indique donc LOW lorsqu'aucune tension ne passe par l'interrupteur.
Vous pouvez recouvrir la plaque d'essai du gabarit fourni dans le kit. Ou la décorer pour créer votre propre système de lancement. Les lumières qui s'allument et s'éteignent ne signifient rien en elles-mêmes, mais en les plaçant dans un panneau de contrôle et en leur donnant des étiquettes, elles prennent tout leur sens. Que voulez-vous que signifie la LED verte ? Que signifient les LED rouges clignotantes?
LE CODE
Quelques notes avant de commencer
Chaque programme Arduino possède deux fonctions principales. Les fonctions sont des parties d'un programme informatique qui exécutent des commandes spécifiques. Elles ont des noms uniques et sont appelées en cas de besoin. Les fonctions nécessaires à un programme Arduino sont setup() et loop(). Ces fonctions doivent être déclarées, ce qui signifie que vous devez indiquer à l'Arduino ce qu'elles feront.
setup() et loop() sont déclarées comme illustré à droite.
Dans ce programme, vous allez créer une variable avant d'entrer dans la partie principale du programme. Les variables sont des noms que vous attribuez à des emplacements dans la mémoire de l'Arduino afin de pouvoir suivre ce qui se passe. Ces valeurs peuvent changer en fonction des instructions de votre programme.
Les noms des variables doivent décrire la valeur qu'elles stockent.
Par exemple, une variable nommée switchState indique ce qu'elle stocke : l'état d'un interrupteur. En revanche, une variable nommée « x » ne vous en dit pas beaucoup sur ce qu'elle stocke.
Commençons à coder
Pour créer une variable, vous devez déclarer son type. Le type de données int contient un nombre entier (également appelé entier) ; c'est-à-dire tout nombre sans virgule.
Lorsque vous déclarez une variable, vous lui attribuez généralement une valeur initiale. Comme pour toute instruction, la déclaration de la variable doit se terminer par un point-virgule (;).
Configurer la fonctionnalité de broche.
La fonction setup() s'exécute une fois, à la première mise sous tension de l'Arduino.
C'est ici que vous configurez les broches numériques en entrées ou en sorties à l'aide d'une fonction nommée pinMode(). Les broches connectées aux LED seront des sorties et la broche de l'interrupteur sera une entrée.
Créer la fonction de boucle
La fonction loop() s'exécute en continu une fois la configuration terminée. La fonction loop() permet de vérifier la tension sur les entrées et d'activer et de désactiver les sorties.
Pour vérifier le niveau de tension sur une entrée numérique, utilisez la fonction digitalRead() qui vérifie la tension sur la broche sélectionnée. Pour savoir quelle broche vérifier, digitalRead() attend un argument.
Les arguments sont des informations que vous transmettez aux fonctions et qui leur indiquent comment elles doivent effectuer leur travail. Par exemple, digitalRead() a besoin d'un argument : quelle broche vérifier. Dans votre programme, digitalRead() vérifie l'état de broche 2 et stocke la valeur dans la variable switchState.
Si la broche est sous tension lors de l'appel de digitalRead(), la variable switchState prend la valeur HIGH (ou 1). En l'absence de tension, switchState prend la valeur LOW (ou 0).
{ Accolades }
Tout code écrit entre accolades sera exécuté à l'appel de la fonction.
Respect de la casse
Soyez attentif à la casse
dans votre code.
Par exemple, pinMode est le nom d'une commande, mais pinmode génère une erreur
Commentaires
Si vous souhaitez inclure du langage naturel dans votre programme, vous pouvez laisser un commentaire.
Les commentaires sont des notes que vous laissez et que l'ordinateur ignore. Pour écrire un commentaire, ajoutez deux barres obliques. //
L'ordinateur ignorera tout ce qui se trouve sur la ligne qui suit ces barres obliques.
Ci-dessus, vous avez utilisé le mot « if » pour vérifier l'état d'un élément (à savoir la position de l'interrupteur). En programmation, une instruction if() compare deux éléments et détermine si la comparaison est vraie ou fausse. Elle exécute ensuite les actions que vous lui demandez. Pour comparer deux éléments en programmation, on utilise deux signes égal ==. Si vous n'utilisez qu'un seul signe, vous définissez une valeur au lieu de la comparer.
digitalWrite() est la commande qui permet d'envoyer 5 V ou 0 V à une broche de sortie. digitalWrite() prend deux arguments :
la broche à contrôler et sa valeur (HIGH ou LOW).
Si vous souhaitez allumer les LED rouges et éteindre la LED verte dans votre instruction if(), votre code ressemblera à ceci :
Vous avez indiqué à l'Arduino ce qu'il doit faire lorsque l'interrupteur est ouvert.
Définissez maintenant ce qui se passe lorsque l'interrupteur est fermé. L'instruction if() possède un composant else optionnel qui permet d'exécuter une action si la condition initiale n'est pas remplie. Dans ce cas, puisque vous avez vérifié si l'interrupteur était à l'état BAS, écrivez le code pour la condition HAUTE après l'instruction else.
Pour que les LED rouges clignotent lorsque le bouton est enfoncé, vous devez allumer et éteindre les lumières dans l'instruction else que vous venez d'écrire. Pour ce faire, modifiez le code comme suit :
Après avoir réglé les LED sur un certain état, l'Arduino
s'arrête un instant avant de les remettre à l'état initial. Si vous n'attendez pas, les lumières alterneront si vite qu'elles donneront l'impression d'être légèrement atténuées, et non pas allumées et éteintes. En effet, l'Arduino exécute sa fonction loop() des milliers de fois par seconde, et la LED s'allume et s'éteint plus vite que nous ne le percevons. La fonction delay() permet d'empêcher l'Arduino d'exécuter quoi que ce soit pendant un certain temps. delay() prend un argument qui détermine le nombre de millisecondes avant l'exécution du code suivant. Il y a 1 000 millisecondes dans une seconde. delay(250) marque une pause d'un quart de seconde.
Il peut être utile d'écrire le déroulement de votre programme en pseudo-code : une façon de décrire ce que vous souhaitez que le programme fasse en langage clair, mais structurée de manière à faciliter l'écriture d'un programme réel. Dans ce cas, vous allez déterminer si l'état du commutateur est à l'état HAUT (ce qui signifie que le bouton est enfoncé) ou non.
Si l'interrupteur est enfoncé, vous éteignez la LED verte et allumez les LED rouges. En pseudo-code, l'instruction pourrait ressembler à ceci :
si l'état du commutateur est à l'état BAS :
allumer la LED verte
éteindre les LED rouges
si l'état du commutateur est à l'état HAUT :
éteindre la LED verte
allumer les LED rouges
Essayez de modifier la durée des deux fonctions delay() ; observez l'effet des voyants et la façon dont la réponse du système change en fonction de la vitesse de clignotement.
L'appel d'une fonction delay() dans votre programme arrête toutes les autres fonctionnalités. Aucune mesure de capteur ne sera effectuée avant l'expiration de ce délai. Bien que les délais soient souvent utiles, lorsque vous concevez vos propres projets, assurez-vous qu'ils n'interfèrent pas inutilement avec votre interface.
Dans ce projet, vous avez créé votre premier programme Arduino pour contrôler le comportement de certaines LED à l'aide d'un interrupteur. Vous avez utilisé des variables, une instruction if()...else et des fonctions pour lire l'état d'une entrée et contrôler les sorties.
Aucun commentaire:
Enregistrer un commentaire