Les exercices de l'Atelier des Outils Pour le Numérique

Clignotement d'une LED

L'objectif de cet exercice est de faire clignoter une LED au travers d'un programme Arduino.

La fréquence de clignotement sera écrite en dur dans le programme, c'est à dire qu'il ne sera possible de la modifier qu'en modifiant le programme.

Montage associé

Pour cet exercice vous aurez besoin du matériel suivant :

TypeQuantité
Platine Arduino1
Plaque à essais1
Fil de câblage2
Résistance de 330 Ω1
LED (couleur au choix)1

Le montage à effectuer est celui de la figure ci-dessous :

Faire clignoter une LED.

Code et commentaires

/**
 * Clignotement d'une LED.
 */
#define LED 9
#define FREQ 2 // Fréquence de clignotement en Hz

void setup() {
  // Initialisation du port en sortie
  pinMode(LED, OUTPUT) ;

  // Je m'assure que la LED est
  // éteinte au départ
  digitalWrite(LED, LOW) ;

}

void loop() {
  // La LED va clignoter à
  // une fréquence d'environ FREQ Hz
  digitalWrite(LED, HIGH) ;
  delay(1000/FREQ/2) ;
  digitalWrite(LED, LOW) ;
  delay(1000/FREQ/2) ;
}
Code pour faire clignoter une LED.

Dans le code ci-dessus, nous utilisons deux constantes (LED et FREQ) pour n'avoir à changer que ces valeurs si on veut modifier le programme. On peut vouloir modifier le programme suite à la modification du montage ou parce que l'on désire changer la fréquence de clignotement.

Comme nous l'avons vu en cours, la fonction loop() s'exécute en boucle (d'où son nom). Il faut donc penser ce code dans le temps. Une fois la LED allumée, puis éteinte, elle va à nouveau s'allumer, puis s'éteindre, puis ...