Aller au contenu

Premier projet Arduino : Allumer des LEDs

Premier projet Arduino : Allumer des LEDs

Objectif : Faire ses premiers pas avec Arduino, allumer des leds avec Arduino

Difficulté : 1/5

Temps d'exécution : 15 min

Matériel nécessaire :

Ho le joli tutoriel de rappel concernant les projets Arduino, nous allons vous faire réaliser votre premier programme (au cas où tous les tutoriels robotique du site ne soient pas encore assez clairs :D ), et vous faire découvrir le fonctionnement des entrées/sorties.

Vous allez en effet contrôler l’allumage de LEDs via un interrupteur. Notre but est de faire clignoter 2 LEDs rouges si l’interrupteur est enclenché, et de n’allumer que la LED verte s’il ne l’est pas.

Pour réaliser ce tutoriel le Starter Kit Arduino en français est juste excellent !

Le montage Arduino et Breadboard

Commençons par le montage :

1. Connectez votre breadbord aux broches 5V et Ground (notée GND) de la carte.

2. Placez les 2 LEDs rouges et la LED verte sur la breadbord.

3. Attachez la cathode (patte courte de la LED) au Ground, via une résistance 220 Ohms, et ce pour chaque LEDs.

4. Connectez l’anode de la LED verte à la broche 3, les rouges respectivement aux broches 4 et 5.

5. Placez l’interrupteur sur la breadboard. Connectez un côté au +, et l’autre à la broche 2 de l’Arduino.
Il faut ajouter une résistance 10k Ohms du Ground à l’interrupteur (du côté relié à la broche 2)

Montage Arduino

Votre premier programme Arduino

Chaque programme Arduino a 2 fonctions principales, le setup() et le loop() qui ont besoin d’être déclarées. Ce programme nécessite également de créer une variable avant de rentrer dans la partie principale du programme.


1. On déclare la variable en précisant son type. Ici, nous voulons un nombre entier (integer), et nous lui allouons la valeur 0. Pour que cette variable soit compréhensible, il est conventionnel de lui donner un nom en accord avec son utilité. Nous l’appelons switchState (elle sert au changement de statut ON/OFF de l’interrupteur).

int switchState = 0 ;

2. Passons à la fonction setup(), qui ne s’effectue qu’une seule fois durant le programme : au démarrage de l’Arduino. Nous allons ici définir le rôle des broches : entrée ou sortie. La fonction se nomme pinMode(). Les broches connectées aux LEDs sont des sorties, celle connectée à l’interrupteur est une entrée.

void setup(){
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(2,INPUT);
}

3. La fonction loop() boucle continuellement après l’exécution de la fonction setup(). Dans notre projet, le loop() sera l’endroit où l’on vérifiera le voltage des entrées, et où l’on changera les sorties en ON ou OFF. Pour vérifier le voltage d’une entrée numérique, on utilise la fonction digitalRead() qui vérifie ce voltage sur la broche désignée. On désigne la broche en passant l’argument dans la fonction. Elle va vérifier l’état de la broche 2, et stocker la valeur dans la variable switchState. S’il y a un voltage, la valeur sera HIGH (1), sinon elle sera LOW (0).

void loop(){
switchState = digitalRead(2);

4. Après avoir analysé la valeur (qui est en fait la position de l’interrupteur), nous allons faire agir en conséquence. Une condition if() compare 2 éléments, et détermine si la comparaison est vrai ou fausse. Le signe == est utilisé pour comparer ces éléments. On regarde ici si le switchState est LOW ou non.

if (switchState == LOW){

5. S’il est LOW, nous voulons allumer la LED verte, et éteindre les 2 autres. Pour agir ainsi, la fonction digitalWrite() va nous aider. Elle permet d’envoyer 5V ou 0V à une sortie. Cette fonction prend 2 arguments : la broche à contrôler, et la valeur à assigner à cette broche (HIGH ou LOW)

digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}

6. S’il n’est pas LOW, alors il faut agir autrement. C’est là qu’intervient l’option else, liée au if. Elle permet d’agir dans le cas où la condition du if est fausse. Nous voulons faire clignoter les LEDs rouges dans ce cas.

else{
digitalWrite(3, LOW);
digitalWrite(4, LOW); // La première LED rouge est éteinte
digitalWrite(5, HIGH); // La deuxième est allumée

7. On va ajouter un délai pour le clignotement, grâce à la fonction delay(), qui prend un argument en milliseconde.

delay(250);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
delay(250);
}
} //Fermeture de la fonction loop() : on repart au début de la fonction !

Votre programme est maintenant fini ! Vous devriez voir la LED verte s’allumer. Appuyez sur l’interrupteur, vous verrez alors les deux LEDs rouges clignoter, et la verte s’éteindre !
Vous pouvez modifier la valeur donnée à la fonction delay() pour vous rendre compte de son action : plus aucune lecture n’est prise en compte durant cette durée.

On récapitule le programme :

int switchState = 0 ;
void setup(){
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(2,INPUT);
}
void loop(){
switchState = digitalRead(2);
if (switchState == LOW){digitalWrite(3, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW);}
else{ digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, HIGH); delay(250); digitalWrite(4, HIGH); digitalWrite(5, LOW); delay(250);}
}

Et maintenant ?

Bravo ! Vous venez de créer votre premier programme Arduino pour contrôler le comportement de LEDs en fonction d’un interrupteur. Vous avez utilisé des variables, fonction, conditions. Vous êtes maintenant prêts pour des projets plus complexes !

Retrouvez toutes les cartes Arduino officielles sur le shop ! Ainsi que la breadboard de votre choix...

Si vous souhaitez en savoir plus sur le leds en général consultez notre articles dédié à a led.

Pour aller plus loin enchaînez avec le tutoriel Arduino vous présentant comme changer la couleur d'une led RVB avec Arduino

Cet article vous a plu ? Laissez-nous un commentaire !

Tous les champs sont obligatoires

Nom:
E-mail: (ne sera pas publié)
Commentaire:
Recopier le code
ok