IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Arduino : Comment faire clignoter une LED ?

Niveau : débutant

La LED (Light Emitting Diode ou DEL pour diode électroluminescente) est un composant peu onéreux qui a la particularité d’émettre de la lumière lorsqu’il est parcouru par un courant. Ce tutoriel montre comment faire clignoter une LED comme celles à tête ronde 3 ou 5 mm que l’on retrouve dans la plupart des kits pour débuter sur Arduino.

17 commentaires Donner une note à l´article (5)

Article lu   fois.

L'auteur

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Qu’est-ce qu’une LED ?

Il s'agit d'un dipôle (deux broches) polarisé (il a un sens de branchement avec une borne positive, l'anode et une borne négative, la cathode) qui fonctionne en courant et tension continus. La LED ne conduit que dans un seul sens (anode vers cathode). Dans l'autre sens, elle est dite bloquée, mais ne supportera pas une tension inverse élevée (claquage).

Image non disponible
LED à tête ronde 3 et 5 mm verte, jaune, orange, rouge, bleue et blanche. La patte la plus courte est la cathode.
Image non disponible
Le méplat sur la tête de la LED indique la position de la cathode.
Image non disponible
Schéma d’une LED → A : anode ; K : cathode

Lorsqu'une LED est passante et qu’un courant suffisant la traverse dans le sens direct (forward) de l’anode vers la cathode, elle s’illumine.

II. Montage avec une résistance en série

Image non disponible
LED en série avec une résistance. La cathode de la LED (patte la plus courte) est reliée à la masse GND. Si la broche 12 est mise à l’état haut (5 V), la LED s’illumine.

La résistance électrique montée en série est indispensable pour limiter le courant, car au-delà d’une certaine valeur d’intensité, la LED grille ! (La broche de l’Arduino Uno ne tolérera pas non plus d’absorber une intensité qui dépasse 40 mA sans dommage, mais la LED devrait griller avant).

Pour les LED habituelles, celles que l’on trouve dans les kits Arduino, une résistance entre 220 Ω et 330 Ω conviendra.

III. Le code

Pour allumer la LED, il suffit de mettre la broche 12 où est reliée l’anode de la LED à l’état haut, et de la remettre à l’état bas pour l’éteindre.

Si on alterne les périodes (ici, toutes les secondes) où la LED est allumée puis éteinte, elle clignote.

blink.ino
Sélectionnez
/************************************************************ 
   Faire clignoter une LED
   Clignotement de période 2s, soit une fréquence de 0,5Hz
   Cathode --> GND, Anode --> 12, résistance en série 220 ohms
*************************************************************/
const byte pinLed = 12;

void setup() 
{
  pinMode(pinLed, OUTPUT); // Broche configurée en sortie
}

void loop() // Boucle infinie
{
  digitalWrite(pinLed, HIGH);    // Sortie à l’état haut
  delay(1000);                   // Temporisation 1000 ms = 1 s        
  digitalWrite(pinLed, LOW);     // Sortie à l’état bas
  delay(1000);                   // Temporisation 1000 ms = 1 s
}

IV. Aller plus loin : dimensionner la résistance de protection

On montre ci-dessous un exemple de courbe caractéristique courant-tension d’une LED :

Image non disponible

On voit que le courant commence à circuler pour une tension de 1,7 V. Au-delà d’un seuil aux alentours de 1,9 V (tension de seuil), la tension varie très peu en fonction du courant.

Le seuil VF pour un courant direct IF de référence figure dans les documentations techniques (datasheets) des fabricants :

Image non disponible

Ici pour une LED rouge, le fabricant recommande une intensité IF = 20 mA (20.10-3 A) qui donne une tension VF = 1,8 V (valeur typique).

Si on reprend le montage précédent avec l’Arduino et la LED, lorsque la broche 12 est à l’état haut, elle fournit une tension Ve = 5 V. Le schéma électrique équivalent est alors le suivant :

Image non disponible
Schéma électrique équivalent

D’après la loi d’Ohm, la tension aux bornes de la résistance est Rp.IF.

La loi des mailles donne : Ve = VF + Rp.IF, soit si IF est non nul Rp = (Ve - VF) / IF (tensions en volts, intensité en ampères, résistance électrique en ohms).

Si on prend les caractéristiques nominales de la LED rouge précédente (tension et intensité de seuil VF et IF), on obtient :

Rp = (5 - 1,8) / 20.10-3 = 160 Ω

Compte tenu de la précision et des gammes échelonnées de valeurs des résistances, il vaut mieux prendre une valeur supérieure qui va minimiser le courant. Ici, 180 Ω ou 220 Ω conviendra.

Les valeurs typiques de seuil (VF et IF) variant beaucoup d’un modèle à l’autre, en cas de doute il vaut mieux être prudent sur l’intensité qui traverse la LED, et majorer la valeur de RP (270 Ω, voire 330 Ω). Il sera toujours temps après coup de diminuer un peu la valeur de la résistance si la luminosité devient trop faible.

Quelques ordres de grandeur pour les tensions de seuil : 1,6 V à 2 V pour les rouges ; 2 V à 2,1 V pour les oranges ; 2,1 V à 2,2 V pour les jaunes ; 1,9 V à 4 V pour les vertes ou encore 2,5 V à 3,7 V pour les bleues. On voit qu'il y a une grande variabilité et donc le choix de la résistance est important pour protéger le matériel. De plus, lorsque l'on a des LED de couleurs différentes dans son montage, il faudra adapter les résistances pour avoir une « brillance » uniforme.

V. Ressources sur Developpez

Et si vous avez encore des questions, n’hésitez pas à ouvrir une discussion dans le forum Arduino.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2021 Team developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.