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.
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).
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
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
}
* 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 !