Feux tricolores

Feux tricolores

Nous vous proposons un petit montage facile et ludique pour bien  démarrer avec l’électronique et le Arduino.
Il s'agit de commander des feux tricolores de type routier. Cela peut aussi s'adapter au monde ferroviaire et devenir un signal de bloc (S, A, VL).

Le feu

Pour démarrer la réalisation d'un montage électronique rien de mieux que de commencer par des Diodes ÉlectroLuminescentes (LED en anglais). C'est encore mieux lorsque l'on peut monter un kit.
Nous avons trouvé un kit éducatif sur un site en Chine qui fourmille de bonnes idées.
 le kit en question est un feu de type routier de 13 cm de haut avec 3 grosses LED de 8mm de diamètre.
Le kit feu

Ci-après, une photo illustre le contenu du kit. Vous y trouverez donc la base du support de feu (en jaune), le support des LED (en noir), un porte-piles (en blanc), un sachet avec les 3 LED et la visserie. A noter qu'il y a aussi un micro tournevis...amusant... 

Détail du kit

L'indispensable notice de montage est certes en chinois mais elle donne une idée du montage et du résultât.
ATTENTION! si vous câblez une LED et que vous la connectez directement au boîtier de piles vous risquez d'avoir une mauvaise surprise! Vous pouvez tout simplement la griller.

Il y a deux règles de base à toujours respecter:
- Toujours vérifier les polarités (boitier piles et LED)
- Toujours protéger une LED par une résistance

La notice

Pour que le kit fonctionne sans problème il vous faudra suivre les opérations suivantes.
Tout d'abord il faut repérer les bornes + (anode) et - (cathode). L'astuce est que l'anode (+) est toujours la patte la plus longue de la LED. Ceci est vrai quelque soit le fabricant et le diamètre des LED.

Les cathodes (-) des LED sont toutes reliées à la borne - de l'alimentation.
Les LED sont commandées par l'anode (+), donc il ne faut surtout pas toutes les relier ensembles.

Sur chaque anode (+) nous allons ajouter une résistance de 1/4 W 5% d'une valeur de 390 Ohms (série E24). Cela permet de protéger la LED en limitant le courant qui va la traverser.

Rappel : Loi d'Ohm  U = R x I.
Pour obtenir R on a donc R = U / I. La tension de sortie est de Vs=5 V. Le courant maximum dans la LED est de I=10 mA. La tension aux bornes d'une LED est généralement de Vf=1.2V.

R = (Vs-Vf)/I = 380 Ohms. La plus proche valeur dans la série normalisée est 390 Ohms. Vous pouvez aussi mettre 430 ou 470 Ohms (l'éclairage sera bon).
La photo suivante illustre la réalisation. Les résistances et les fils de couleurs sont soudés. Un petit adhésif noir maintient l'ensemble. Vous pouvez ajouter un bornier au pied du feu si vous le désirez. 

Câblage des LEDs 

A ce stade, vous pouvez tester votre feu avec le boitier à piles. La tension sera d'environ 3V. 
ATTENTION! Vérifiez bien les polarités (+ et -) du boitier à piles ne ne vous fiez surtout pas aux couleurs fantaisistes du kit. Au pire rien ne s'allumera si vous inversez les polarités.

Les programmes et l'environnement de programmation

Le premier programme est vraiment simple et il a été largement inspiré de celui de LOCODUINO qui est un site que nous vous recommandons vivement. La différence est que ma jeune programmeuse l'a adapté pour une carte Arduino MEGA. 
La raison principale est que cette carte est assez polyvalente et facile à programmer avec son interface USB.

L'environnement de programmation est accessible en téléchargement sur la page software du site Arduino.

Vue de la page de téléchargement de l'environnement

Après avoir téléchargé, exécuter l'installation. Une fois terminé, vous pourrez cliquer sur la nouvelle icône bleue sur votre bureau. Par défaut vous aurez la vue suivante:

Vue du "sketch"

Un programme est nommé sketch et ce n'est pas une blague...

Profitez-en pour connecter votre carte Arduino (ici une Mega2560) sur votre PC. Le driver va s'installer automatiquement. Une fois l'installation terminée notez bien le n° du port COM.

Il vous faudra configurer cet environnement pour définir le type de carte Arduino et sur quel port de communication (COM) elle est connectée. Pour cela cliquez sur le menu outils et vous devriez obtenir la vue suivante:

 Configuration de l'environnement

Sélectionnez le type de carte dans le sous menu "Type de carte" (ici: ATmega2560 (Mega 2560) et le n° du port COM dans le sous-menu "Port".

Vous pouvez désormais saisir les lignes de code du programme.

 Environnement configuré et avec le programme

Voici donc le programme qui allume les feux que vous pouvez directement copier dans la fenêtre sketch:   
/*
 * Programme pour arduino Mega
 * par A. ZANDER Février 2018
 *
 * Ce programme fait fonctionner des feux tricolores.
 * 3 LED (vertes, oranges et rouge) sont reliées aux sorties D49, D51, D53
 */
    
// Initialisation des variables
const byte A1V = 49 ;
const byte A1O = 51 ;
const byte A1R = 53 ;


//Délai des différents temps mis en const pour changer facilement
// si le délai imparti ne vous satisfait pas. Il s'agit de millisecondes
const long TempsAttenteFeuRougeSeul = 10000;
const long TempsAttenteFeuVert = 10000;
const long TempsAttenteFeuOrange = 2000;
    
// Initialisation des lignes en sortie
void setup () {
  pinMode (A1V, OUTPUT) ;
  pinMode (A1O, OUTPUT) ;
  pinMode (A1R, OUTPUT) ;
}
    
// Fonction loop
void loop () {
  // Extinction de toutes les LED au dèpart
  digitalWrite (A1V, LOW) ;
  digitalWrite (A1O, LOW) ;
  digitalWrite (A1R, LOW) ;
    
  // Allumage de A1V
  digitalWrite (A1V, HIGH) ;
    
  // Début de cycle
  
  // Concerne le feu A1
  delay (TempsAttenteFeuVert) ; // Feu vert A1V pendant 10 secondes
  digitalWrite (A1V, LOW) ; // Extinction de A1V
  digitalWrite (A1O, HIGH) ; // et allumage de A1O
  delay (TempsAttenteFeuOrange) ; //durée 2 secondes
  digitalWrite (A1O, LOW) ; // Extinction de A1O
  digitalWrite (A1R, HIGH) ; // et allumage de A1R
  delay (TempsAttenteFeuRougeSeul) ; // Temporisation
  // Le cycle peut recommencer
}

N'oubliez pas d'enregistrer votre programme!

Il reste à vérifier et téléverser le programme dans la carte. Pour cela utilisez les petites icônes en haut de la fenêtre du programme.
 
 Vérification du programme

Une fois la vérification terminée, un état est affiché dans une fenêtre en-dessous de celle du programme. Il indique si la compilation est terminée et quel est la quantité d'espace mémoire utilisé avec le pourcentage.

Les Tests

Une seule règle est à respecter pour éviter des ennuis: Effectuer les connexions toujours hors tension. Par précaution, déconnectez la liaison série de votre carte où la batterie portable.

Le feux ont 4 fils (3 couleurs et la masse). La carte comporte une sérigraphie avec les n° des broches.
Connectez les fils comme suit:
- La masse (fil noir) en bas à GND
- La LED rouge (fil rouge) broche n°53
- La LED orange (fil orange) broche n°51
- La LED verte (fil vert) broche n°49

 Connexions du feu

Vous pouvez maintenant reconnecter votre liaison série au PC. Cela va alimenter la carte qui va automatiquement exécuter le programme.
Pour être autonome, je vous recommande d'utiliser une batterie (power bank) pour les smartphones. C'est simple et efficace!

Test du feu

A suivre !