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).
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▲
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.
/**
**********************************************************
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 :
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 :
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 :
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▲
- Application : faire clignoter une DEL
- Les diodes électroluminescentes
- LED ou DEL
- Les sorties numériques
Et si vous avez encore des questions, n’hésitez pas à ouvrir une discussion dans le forum Arduino.