dimanche 10 août 2014

Tuto#2 Arduino: Allumez vos LED!

Domaine: Systèmes embarqués
Difficulté: Facile



Introduction



Voilà le deuxième Tuto! :)

Après avoir connecté la carte et après avoir vérifié son bon fonctionnement, let's have some Fun! :D 

Vous trouverez ici des programmes simples, vraiment très simples à essayer!

Allumer une LED, faire clignoter une LED, utiliser un bouton pour allumer et éteindre la LED,etc. 
Alors! Gooo :D

Un peu d'électronique

On va allumer une LED, on aura donc besoin d'une carte Arduino, un câble USB pour brancher la carte au PC et une LED. Voilà tout est bon! :D
Mais NON! Un autre composant très important manque! C'est la résistance. :)
Oui, on aura besoin d'une résistance branchée à coté de la LED pour la protéger. On doit fournir à notre LED une tension qui ne dépasse pas la tension maximale qu'elle peut supporter.

Comment choisir cette résistance?

La résistance a été calculée avec précis. voilà comment on a fait.
On sait que l'intensité qui traverse la LED, doit être égale à 20mA. Vous pouvez vérifier ça sur le datasheet de la diode.

On a donc: I=20mA.
La tension d'alimentation en sortie de l'Arduino est égale à 5V.
La tension qui parcourt notre LED doit être comprise entre 1,2 et 1,6 V (ça se trouve aussi dans le datasheet). On va la considérer ici à 1,2V.
La tension qui existe aux bornes de la résistance est donc Ur= 5V - 1,2V = 3,8V


Alors on a toutes les données pour pouvoir calculer la résistance! Vous vous souvenez de la loi d'Ohm? :p

U=R * I  oui! :D


Voilà donc ça donne R= Ur/I = 3,8/0,02 = 190 Ω 

On doit choisir une résistance supérieure ou égale à 190 Ω pour être sur que notre LED ne se détériore plus!



On revient à notre Arduino maintenant!



Allumer une LED



Réalisation

Voilà comment on va réaliser le branchement.
*Connectez la longue patte de la LED à la broche 5V de l'Arduino.
*Connectez la petite patte à la résistance qui sera reliée à son tour à la broche n°2 de la carte.

Voilà le montage


le fil noir est relié à la masse.

Programmation

Pour programmer votre carte, vous devez tout d'abord ouvrir un nouveau programme. Allez dans "File" cliquez sur "save as..."



Vous allez vous retrouver ici



Nommez votre sketch. Ici on a choisi test_1. 
Voilà qu'est ce que ça va donner après avoir cliqué sur "enregistrer"



Commençons la programmation donc! :D
Mais avant, laissez-moi vous présenter un programme Arduino. 
Tout programme Arduino se décompose de 3 parties dans la première on va définir les broches utilisées. La deuxième c'est la partie setup(), là où on va initialiser les états de chaque composant branché. Et la troisième partie c'est la partie loop(), c'est le programme lui-même, il s'agit d'une boucle qui va s’exécuter à l'infini.
Écrivons donc ces lignes pour initialiser la carte.




Voilà!
Maintenant on va définir les broches qu'on a utilisé. On a branché un seul composant dans la broche n°2. Il faut le mentionner donc!



Cette ligne veut dire qu'on a branché un composant dans la broche n°2 et on l'a nommé led_rouge.

On passe à la deuxième partie du programme. la partie setup()
On doit préciser ici si ce composant branché est une entrée ou une sortie. Pour se faire on utilise la fonction pinMode() qui prend en entrée deux paramétres: le nom de la broche et le type du composant.
Ici la LED est une sortie (OUTPUT). Traduisez ceci avec ces lignes de code.



Dernière étape! La partie loop(). 
On va écrire le programme qui va permettre d'éclairer la LED. On aura certainement besoin d'une fonction. La fonction qu'on cherche c'est digitalWrite(), comme son nom l'indique elle permet d'écrire en numérique. On va écrire l'état de la LED qui ne peut être que 0 ou 1. 
Dans notre cas nous voulons que notre LED soit éclairée et donc l'état "LOW"

Comment faire la différence entre HIGH et LOW?
L'état "HIGH" correspond à la valeur 5V et l'état "LOW" correspond à la valeur 0V. Ici on a branché la LED à 5V et donc pour l'allumer on doit créer une différence de potentiel à ces bornes et la relier de 0V, c'est pour cela qu'on lui attribue l'état "LOW".

Complétez votre programme donc!



 Exécutez votre programme maintenant! Et voilà, la LED s'allume *_*
Et si nous voulons la faire clignoter? C'est trés trés simple! Une question de deux lignes de codes à rajouter :D

Faire clignoter une LED

Vous allez garder le même montage précédent et le même programme aussi, sauf que vous allez faire la connaissance d'une nouvelle fonction. C'est la fonction delay().
Elle sert à quoi à votre avis?  à faire clignoter la LED! :D

Ah non! ce n'est pas exactement ça ! :p
delay() sert à arrêter le programme, à mettre une pause pendant une période bien précise.

Voilà  votre loop() semble à ceci.



On a allumé la LED, on a arrêté le programme pendant 1 seconde, on a éteint la LED, on a arrêté le programme encore une fois et on refait cette boucle à l'infini.

Et voilà votre LED clignote :D 

Entraînez-vous encore en rajoutant plusieurs LED et en les faisant clignoter. Vous pouvez construire quoique ce soit! Ecrivez votre nom par exemple et clignotez-le :p

Avant de vous dire au revoir, j'aimerais bien vous présenter aussi une dernière partie qui va rendre plus "élégant" votre travail. On va voir ensemble comment utiliser un bouton pour allumer la LED.
Allez! Suivez-moi! :D

Utiliser les boutons

Réalisation

Branchez vos composants! 
Connectez tout d'abord la résistance à la broche 5V et reliez l'autre patte de la résistance au bouton qui sera branché de l'autre coté avec la masse. 
Faites sortir un petit fil du point qui relie le bouton à la résistance et branchez-le à la broche °2.
Disposer après un condensateur en parallèle avec le bouton.
Pour le branchement de la LED, on va refaire le même travail que dans la partie précédente.
Branchez la longue patte à 5V et la petite à une résistance et reliez cette résistance à la broche n°13.

Quel est le rôle du condensateur?
En appuyant sur le bouton, on ne va pas passer directement de 0V à 5V le signal va rebondir plusieurs fois avant d'arriver. Ce phénomène va gêner notre programme et c'est pour cela qu'on a mis ce condensateur pour éliminer cet effet.
Le condensateur va absorber ces rebonds.

Voilà, votre montage doit ressembler à ceci



Programmation

Tapons notre programme tout de suite! :D
Définissons nos variables, et  initialisons les états de nos composants.

On commence par les variables! Ce sont les broches qu'on a utilisé n°2 et n°13. Mais aussi une autre variable qu'on va nommer "etatBouton" et qui va stocker l'état du bouton.



Tapez la partie setup() maintenant. Précisez le type de chaque composant branché à la carte c.à.d le bouton et la LED et mettez aussi l'état initial du bouton (un état relâché).



Dernière étape! :D la partie loop().
Voilà ce que vous allez écrire là-bas.  :)



digitalRead() est une fonction qui va lire l'état du bouton et le stocker dans la variable etatBouton. 
Après on va faire un test sur cette valeur. Si le bouton est relâché (etatBouton= HIGH) on va donc éteindre la LED. Dans le cas inverse on va allumer la LED.

Exécutez votre programme!! Voilàààà tout est bon! :D 
Bravo ;)

Et notre deuxième tuto est fini!! :D
Essayez de refaire le travail en rajoutant plusieurs diodes et plusieurs boutons. Entraînez-vous à la réalisation des montages et à la programmation parce qu'après on va passer aux choses sérieuses! :D


La référence pour ce tuto? même référence que l'article précédent! le site du zéro, j'ai pris les imprimes écran de là-bas xD 

Allez! Je vous laisse maintenant A très bientôt! ;)







Aucun commentaire:

Enregistrer un commentaire