Faire clignoter une LED #Arduino1

Tutoriel pour apprendre à brancher un Arduino, écrire un programme simple, l'uploader et faire clignoter une LED !

Tutoriel écrit par Guy geek et consulté 46121 fois

0
Photo principale de Faire clignoter une LED #Arduino1

Ce dont vous aurez besoin

  • Un arduino UNO
  • Une resistance de 220 ohm
  • Une breadboard ou une pince crocodile
  • Une Led classique (courant nominal autour de 20 mA)

Voici le premier tutoriel d'une série consacrée à l'apprentissage par l'exemple des fonctionnalités de l'Arduino (et des microcontrôleurs en général). Si vous ne savez pas ce qu'est un microcontrôleur, vous pouvez vous référer à mon précedent article sur la question.

Les tutoriels de cette nouvelle série s'organiseront toujours de la même façon : une première partie qui décrit les étapes pour arriver à faire le plus rapidement possible ce qui est écrit dans le titre de l'article (par exemple ici : faire clignoter une LED) destinée aux impatients et aux non-débutants. Une deuxième partie pour expliquer la première partie. Enfin une dernière partie avec des suggestions d'exercices ou d'améliorations parce qu'il n'y a rien de mieux que de faire soi-même pour apprendre. 
Sans plus attendre : 

Partie 1 : Comment faire clignoter une Led 

  1. Se procurer un Arduino (UNO de préférence)
  2. Se procurer une Led et une resistance de 220 ohm. Connecter une branche (n'importe laquelle) de la resistance au pin "13" de l'Arduino, la branche la plus courte de la LED au pin "GND" et enfin la branche restante de la LED avec la branche restante de la resistance. 
  3. Télécharger et installer l'environnement de développement (ou IDE) Arduino en cliquant ici
  4. Ouvrir l'IDE, aller dans fichier > exemples > Basics > Blink
  5. Brancher votre Arduino en USB à votre ordinateur
  6. Cliquer sur la petite flèche pour "Téléverser" votre programme
  7. Admirer votre LED qui clignote
  8. Ecrire un commentaire si ça ne marche pas

Une petite photo pour vous aider :)

Partie 2 : Les explications

Ce petit exemple, bien que très simple, va nous permettre d'apprendre beaucoup de choses sur le fonctionnement des Arduinos !

Pour les trois premières étapes, il n'y a pas grand chose à expliquer... à part peut-être le circuit électronique. C'est exactement le même que dans cet article, sauf que la pile est remplacée par l'Arduino. Globalement on ne peut pas faire beaucoup plus simple : une LED et une resistance pour limiter la tension aux bornes de la LED. Pour calculer la resistance, il faut utiliser la Loi d'ohm ou utiliser un calculateur en ligne pour ceux qui n'aiment pas les calculs.

La resistance est branchée sur le pin 13 de l'Arduino. Les pins forment une ligne de plastique noir avec des trous et des chiffres allant de 0 à 13.
Ces "pins" peuvent être configurés en "input" (entrée) ou "output" (sortie). Dans notre programme, nous pouvons interagir avec ces pins pour lire une tension envoyée par le circuit extérieur ("input") ou envoyer une tension spécifique vers le circuit ("output"). A noter que pour les pins possédant la notation "PWM", cette tension peut-être variable entre 0 et 5V alors que pour les autres elle est soit de 0V (tension basse ou "LOW"), soit de 5V (tension haute ou "HIGH"). Pour résumé, les pins sont un peu notre moyen de communiquer avec le monde extérieur, en lisant ou en écrivant des données sous forme de tension. 

Pour pouvoir commander notre LED, nous allons justement devoir communiquer avec elle et lui donner l'ordre de s'allumer. Pour l'allumer, il va falloir appliquer une tension positive à ses bornes, ici de 5V. La cathode de la LED est déjà reliée de façon permanente au port GND qui correspond à 0V.  Il suffit donc d'appliquer une tension de 5V (HIGH) sur le port 13 (l'anode de la LED) pour l'allumer, ou une tension de 0V (LOW) pour l'éteindre. 

Un programme Arduino se présente toujours de la même façon. Une partie "setup" et une partie "loop". Chacune contient une suite d'instructions placées entre les symboles { et }.
La fonction setup est appelée une seule fois au démarrage de l'Arduino. Elle permet d'initialiser l'Arduino, de définir les variables, les pins, les librairies... 
Une fois que tout est initialisé, la fonction loop prend le relai et execute les ordres ligne par ligne jusqu'à la dernière, puis reprend à la première et ainsi de suite...

L'Arduino va lire une fois la partie setup, puis va exécuter les ordres de la partie "loop" ligne par ligne jusqu'à la dernière avant de recommencer à la première, et ceci jusqu'à ce que vous le débranchiez (vous pouvez également à tout moment appuyer sur le bouton "reset" pour retourner à la première ligne).

Ici la partie setup (configuration) est simple : il suffit de prévenir l'Arduino que le pin 13 va fonctionner en "output" (donneur d'ordre).
C'est à cela que sert la ligne du programme :  

pinMode(13, OUTPUT);

La partie loop est à peine plus compliquée :

digitalWrite(13, HIGH);   // allumer la led
delay(1000);              // attendre une seconde
digitalWrite(13, LOW);    // éteindre la led
delay(1000);              // attendre une seconde

Si vous vous demandez à quoi servent les // :  ce sont les symboles de commentaire. Ils permettent d'écrire des commentaires qui ne seront pas pris en compte par l'Arduino, pour aider la prochaine personne qui lira le programme à comprendre comment il fonctionne, que ce soit vous-même ou qq'un d'autre...

Cette partie du programme utilise la fonction digitalWrite pour assigner une tension à une pin en sortie. La fonction digitalWrite requiert deux paramètres. Le nom de la broche que l'on veut mettre à un état logique et la valeur de cet état logique. On commence par allumer la LED (état logique de sortie haut, ou HIGH, 5V, vous suivez ?). Puis on demande à l'Arduino d'attendre 1000 ms = 1 seconde grâce à la fonction delay (délai en français). Pendant ce "délai" d'une seconde, l'Arduino reste bloqué, la sortie numéro 13 reste à 5V et la LED reste allumée. On éteint ensuite la LED en assignant la tension LOW (0V) à la sortie 13, puis on attend 1 seconde, et ainsi de suite puisque la fonction "loop" tourne en boucle.

Partie 3 : s'entrainer

Voici quelques idées d'exercices pour vous entrainer.

  • Faire clignoter la LED deux fois plus rapidement
  • Générer le message "SOS" en morse
  • Faire clignoter deux LEDS à la fois

N'hésitez pas à poser des questions en commentaire, c'est le meilleur moyen de contribuer à ce tutoriel !

Commentaires

Photos d'internautes