Allumer la LED "13"

Puisque nous avons la carte Arduino sous les yeux, observons-la un peu.

Ceci est une image simplifiée obtenue avec le logiciel Fritzing. Elle reprend les parties importantes de la carte. Nous allons nous intéresser au haut de cette image (orientez votre Arduino pour que ça corresponde). Vous voyez des trous numérotés de 0 à 13, puis GND et AREF.

Un peu en dessous, vous voyez 3 petits rectangles notés L, TX et RX, et un autre à droite noté ON.

Ces rectangles sont des LED, c'est-à-dire des “Light-Emitting Diodes”. Nous verrons plus tard ce que c'est, pour le moment il suffit de comprendre que ça peut s'allumer. Ici nos 4 LEDs peuvent briller dans plusieurs cas :

  • La LED ON est verte quand l'Arduino est sous tension.

  • Les LEDs TX et RX clignotent quand l'Arduino reçoit ou envoie des informations.

  • La LED L clignote si on appuie sur le bouton reset, sinon elle ne fait rien tant qu'on ne lui a pas dit.

C'est la LED L que nous allons allumer grâce à notre petit programme. Une diode s'allume quand elle est parcourue par le bon courant, dans le bon sens.

La force de l'Arduino (entre autre) est d'envoyer du courant, ou non, par les connexions numérotées de 0 à 13. Et la diode L s'allume quand on dit à l'Arduino d'envoyer du courant dans la connexion 13. C'est pour ça que je l'appelle la LED 13.

Vous verrez qu'elle est bien pratique et qu'elle peut servir dans certains cas pour nous aider à débugger. Savoir l'allumer et l'éteindre à volonté est une opération de base sur l'Arduino.

Les étapes du programme sont assez simples :

  1. On dit à l'Arduino que nous voulons que la connexion 13 puisse envoyer du courant (et pas en recevoir).

  2. On dit à l'Arduino d'envoyer du courant dans la connexion 13.

Programmer l'Arduino c'est transformer ces instructions en langage codé. Et ça vous ne pouvez pas le deviner seuls.

Voici donc le programme à taper et à envoyer à l'Arduino (attention à nouveau à la ponctuation et aux majuscules !) :

void setup()

{

pinMode(13,OUTPUT); //Signale à l'Arduino que la connexion 13 doit pouvoir envoyer du courant

digitalWrite(13,HIGH); //Demande à l'Arduino d'envoyer du courant dans la connexion 13

}

void loop()

{

}

et voici le rendu coloré du logiciel Arduino :

Attention

Le point-virgule a une importance primordiale ! Il indique à l'Arduino la fin d'une instruction. Si vous l'oubliez (et vous l'oublierez parfois) le programme ne pourra pas se compiler.

J'attire votre attention sur des nouveaux mots clés : pinMode(), digitalWrite(), OUTPUT, HIGH.

Il ne sont pas colorés pareil, nous verrons plus tard pourquoi. Vous observez que la structure de tout à l'heure n'a pas changé, on a juste ajouté entre les accolades deux instructions.

Le nombre 13 n'est pas anodin, c'est bien la connexion 13 qui est en jeu.

Les mots clés en bleu dans le logiciel, sont spéciaux. Ils s'écrivent en majuscules. Ce sont des valeurs que l'Arduino connaît et utilise. Dans notre cas, le mot clé HIGH signifie "valeur haute". Il existe son contraire : LOW qui signifie "valeur basse". On pourrait aussi dire que HIGH vaut 1 et LOW vaut 0, ou encore que HIGH veut dire que la connexion est à +5V et LOW, qu'elle est à est à 0V.

Je vous laisse modifier le programme (et le téléverser) afin que la diode s'éteigne. Il est important d'essayer seul de chercher la solution, de débugger et de finalement trouver.