Chenillard de DEL

. Par : Christian, Dominique, Guillaume. URL : https://www.locoduino.org/spip.php?article1

Le chenillard est un ensemble de DEL dont le programme présenté ci-après contrôle leur allumage et leur extinction les unes à la suite des autres.

Une des applications réelles sur un réseau peut être les feux dans un virage serré.

Une petite vidéo pour mieux comprendre :

Les pré-requis

Vous pouvez très bien arrêter votre lecture à ce stade pour essayer de faire comme l’animation pour vous entraîner à coder et à brancher correctement. Vous pourrez ensuite comparer votre code avec celui ci-dessous.

Pour quel arduino ?

Le code est écrit pour un Arduino Uno, mais facilement transposable à un autre type d’arduino. Il est toutefois écrit avec la commande Delay() ce qui nécessite une adaptation pour rajouter d’autres effets par exemple de lumière.

Le matériel nécessaire

Pour cette animation, il faut :

  1. un ordinateur et l’IDE Arduino installé : « Installation de l’IDE Arduino »
  2. l’arduino UNO et son câble USB
  3. des fils et une plaque de prototypage
  4. 6 DEL ainsi que 6 résistances : 220 ohms

Si vous ne savez pas ce que c’est ces bidules, « Un minimum pour jouer rapidement avec un Arduino » vous aidera.
Où les acheter, jetez un œil à « Où acheter ? ».

Les branchements

Pour le prototypage, les branchements sont réalisés sur une breadboard. « Les indispensables du prototypage » explique comment utiliser une breadboard.

Figure 1
Figure 1
Montage sur platine d’essai du chenillard de DEL

La figure 1 montre le montage à réaliser.

Le programme

Le programme ci-après est à recopier dans l’interface de l’IDE d’Arduino. Il y a même un bouton télécharger à la fin.

/*
 * Programme pour arduino uno
 * Projet APTE Loco-Revue
 * par C. Bézanger Octobre 2013
 * Licence GNU GPLv3
 *
 * Ce programme réalise un chenillard.
 * Il fait flasher successivement six DEL oranges relées aux sorties 4 à 9
 * Puis il réalise une pause de 500 millisecondes avant de recommencer
 */

// Initialisation des lignes 4 à 9 en sortie
void setup () {
  pinMode (4, OUTPUT) ;
  pinMode (5, OUTPUT) ;
  pinMode (6, OUTPUT) ;
  pinMode (7, OUTPUT) ;
  pinMode (8, OUTPUT) ;
  pinMode (9, OUTPUT) ;
}

// Fonction loop
void loop () {
  // Extinction de toutes les DEL au départ du programme
  for (byte i = 4 ; i <= 9 ; i++) {
    digitalWrite (i, LOW) ; // éteint la DEL reliée à la broche i
  }
  
  // Boucle pour faire flasher les DEL
  for (byte i = 4 ; i <= 9 ; i++) {
    digitalWrite (i, HIGH) ; // allume la DEL sur broche i
    delay (50) ; // durée du flash 50 millisecondes
    digitalWrite (i, LOW) ; // éteint la DEL
  }
  
  // délai de 500 millisecondes
  delay (500) ;
  
  // Recommence la séquence
}