LED clignotante

Objectif

Dans ce projet on se propose de piloter une LED avec une carte Arduino UNO et de la faire clignoter à une vitesse d'un clignotement par seconde.

Qu'est-ce qu'une LED ?

Une LED est une diode qui émet de la lumière. Comme toute diode elle comporte une anode (borne +) qui est la patte la plus longue et une cathode (borne -) qui est la patte la plus courte.

Pour qu'une LED s'allume il faut obligatoirement relier sa patte - à la borne - de l'alimentation et sa patte + à la borne + de l'alimentation. Si la LED est branchée à l'envers elle ne s'allumera pas (le courant ne la traversera pas).

De plus elle ne doit pas être traversée par un courant trop fort, c'est pour cela qu'il est indispensable de brancher une résistance de 330 $\Omega$ en série avec la LED. On notera qu'une résistance n'a pas de sens de branchement.

Plaque de prototypage

Pour réaliser le montage on utilise une breadboard ou plaque de prototypage qui permet de concevoir des circuits électroniques sans faire de soudure.

Tous les trous qui figurent sur la plaque sont autant de connecteurs dans lesquels il est possible de placer les pattes des composants électroniques. Sur les bords en haut et en bas les 24 connecteurs de la ligne noire sont reliés entre eux. Dans chacune des deux lignes rouges les 12 connecteurs sont également reliés. Dans la zone centrale les groupes verticaux de 6 connecteurs sont reliés ensemble, en revanche il n'y a aucune liaison entre les colonnes et il n'y a pas non plus de liaison entre les deux moitiés de la plaque.

Montage électronique de la LED

Le branchement de la LED avec la résistance en série est réalisé comme illustré ci-dessous :

La borne + de la LED (patte longue) est en position g1 et la borne - (patte courte) est reliée à une patte de la résistance, l'autre patte de la résistance arrive sur un connecteur de la ligne noire qui sera utilisée comme ligne de masse.

Pour terminer, il reste à relier l'ensemble à la carte Arduino. La ligne de masse de la plaque de prototypage est reliée à une des bornes GND de la carte (GND est une borne - ou borne de masse). La borne + de la LED est reliée à la borne numérique (digital) numéro 2 de la carte.

Programmation

Pour assurer le pilotage du montage électronique, il faut écrire un programme avec un logiciel spécial dédié à la plateforme Arduino. Ce logiciel se présente comme un simple éditeur de texte dans lequel on entre les instructions.

Les deux boutons circulaires en haut à gauche sont essentiels. Le premier sert à vérifier que le programme ne comporte pas d'erreur de syntaxe en le compilant. En effet le texte du programme ne peut pas être exécuté directement par le microprocesseur de la carte Arduino. La phase de compilation consiste à traduire le texte du programme en ce qu'on appelle le langage machine qui est directement exécutable par le microprocesseur.

Pour que la compilation aboutisse il faut que le texte du programme ne comporte aucune erreur de syntaxe. Cela nécessite de respecter rigoureusement les noms des instructions, l'emploi des parenthèses, des accolades et des crochets ainsi que des virgules et points-virgules. Le memento de la platine Arduino résume les instructions disponibles ainsi que leur syntaxe.

Une fois la compilation réussie il reste à transférer le programme compilé dans la mémoire du microcontrôleur de la carte Arduino. Cette tâche est réalisée avec le second bouton. Il faut au préalable relier la carte Arduino à une prise USB de l'ordinateur.

Explications du programme

Le programme qui permet de piloter le montage est le suivant :

void setup(){
	pinMode(2,OUTPUT);
}
 
void loop(){
	digitalWrite(2,HIGH);
	delay(1000);
	digitalWrite(2,LOW);
	delay(1000);
}

Le code est composé de deux fonctions. La première fonction est définie par :

void setup(){
	pinMode(2,OUTPUT);
}

Son nom est setup. Le mot clé void indique que la fonction ne retourne pas de résultat. Le corps de la fonction est constitué d'une seule instruction qui règle la borne numérique numéro 2 de la carte Arduino en mode sortie (OUTPUT), c'est à dire qu'il sera possible de programmer sur cette borne l'absence (0V) ou la présence (+5V) de courant.

La fonction setup est automatiquement exécutée une seule fois lorsque le programme demarre. C'est dans cette fonction qu'il faut mettre toutes les initialisations nécessaires au fonctionnnement du programme.

La seconde fonction est définie par :

void loop(){
	digitalWrite(2,HIGH);
	delay(1000);
	digitalWrite(2,LOW);
	delay(1000);
}

Elle s'appelle loop et comme son nom l'indique cette fonction s'exécute indéfiniment en boucle. Pour obtenir le clignotement de la LED il faut utiliser l'instruction digitalWrite qui permet de commander la présence ou non de courant sur une borne numérique de la carte Arduino. Plus précisément la séquence de commandes utilisées est la suivante :

Comme précisé plus haut, la fonction loop s'exécute en boucle. Dès que toutes les instructions de la fonction ont été exécutées, elles s'exécutent de nouveau. Ainsi le programme provoque le clignotement de la LED avec une fréquence d'une seconde.