Feux Rouge
Le projet
Mes enfants s’amusent beaucoup avec leur camion : ils s’assoient chacun sur le leur et “conduisent” dans la maison.
Suite au MOOC que j’ai suivi sur Arduino, je me suis dit que je pourrai leur construire un petit feux rouge pour agrémenter leurs jeux.
Les fonctionnalités seront les suivantes :
- deux feux rouges (quand l’un est rouge et est stoppé, l’autre est vert et peut passer)
- mimer le fonctionnement d’un vrai feux rouge (vert -> orange -> rouge)
- ajouter une barrière qui s’abaisse au rouge et se lève au vert
Pour la barrière, nous verrons plus tard. Commençons déjà à réaliser un simple feu.
La partie matérielle
La partie la plus dure à réaliser à été sans conteste, la partie matérielle : elle m’a demandé beaucoup de reflexion et beaucoup de recherche afin de construire un feu qui soit solide (il ne faudrait pas que ça se casse la première fois que ça tombe), léger (facile à transporter) et stable. Il faut que ce soit, en plus, facile à fabriquer sans outil particulier.
Pour réaliser le pied du feu rouge, j’ai décidé d’utiliser des tuyaux en PVC pour l’évacuation des eaux usées en diamètre 32 et 40. J’avais pensé à des tubes pour les cables éléctrique mais c’était trop fin et difficile à stabiliser, à des tubles en métal, mais outre le fait que ce soit lourd, que ça risque de leur faire mal si ça leur tombe dessus, je n’avais pas le matériel adéquate pour les souder.
Pour le trépied, j’ai utilisé trois raccords à 45° que j’ai coupé dans le sens longitudinal sur un angle de 60° : l’objectif est de coller les trois côte à cote sur un tube vertical. La colle à PVC semble solide, mais j’ai préféré renforcer le pied avec des colliers en plastique.
Le haut du tube doit accueillir le feux rouge :
- les deux parties “feux rouge” avec les trois LED vertes, oranges et rouges. Je les ai mises dans une boite de dérivation électrique que j’ai percé de trois trous de diamètre 24. Pour la partie “vitre”, j’ai utilisé un bout de plaque de plexiglas récupéré et je l’ai poncé pour donner l’aspect translucide (il faut le poncer à la main : la ponceuse électrique est trop rapide, ça fait chauffer le plexi et ça ne donne pas du tout le résultat escompté).
- la partie électronique est positionnée dans un tube de diamètre 40, relié au tube de diamètre 32 par un réducteur centré.
photos à venir
La partie électronique
L’électronique sera réalisée avec un arduino nano, déjà largement sur-dimensionné pour le projet. Il sera alimenté par une batterie externe (batterie de secours des téléphones portables). Ca permettra de recharger le feux rouge via un chargeur standard de téléphone (attention : ma batterie externe se recharge avec un cable micro-usb ce qui est devenu moins ocourant que le mini-usb).
photos à venir
Le code de l’arduino est basique :
const int FEU1_VOITURE_VERT_PIN = 5;
const int FEU1_VOITURE_ORANGE_PIN = 6;
const int FEU1_VOITURE_ROUGE_PIN = 7;
const int FEU2_VOITURE_VERT_PIN = 8;
const int FEU2_VOITURE_ORANGE_PIN = 9;
const int FEU2_VOITURE_ROUGE_PIN = 10;
const int FEU_VOITURE_ORANGE_DELAY = 4000;
const int FEU_VOITURE_VERT_DELAY = 10000;
void setup() {
pinMode(FEU1_VOITURE_ROUGE_PIN, OUTPUT);
pinMode(FEU1_VOITURE_ORANGE_PIN, OUTPUT);
pinMode(FEU1_VOITURE_VERT_PIN, OUTPUT);
pinMode(FEU2_VOITURE_ROUGE_PIN, OUTPUT);
pinMode(FEU2_VOITURE_ORANGE_PIN, OUTPUT);
pinMode(FEU2_VOITURE_VERT_PIN, OUTPUT);
}
void loop() {
//
digitalWrite(FEU1_VOITURE_ROUGE_PIN, HIGH);
digitalWrite(FEU2_VOITURE_VERT_PIN, HIGH);
delay(FEU_VOITURE_VERT_DELAY);
//
digitalWrite(FEU2_VOITURE_VERT_PIN, LOW);
digitalWrite(FEU2_VOITURE_ORANGE_PIN, HIGH);
delay(FEU_VOITURE_ORANGE_DELAY);
//
digitalWrite(FEU1_VOITURE_ROUGE_PIN, LOW);
digitalWrite(FEU1_VOITURE_VERT_PIN, HIGH);
digitalWrite(FEU2_VOITURE_ORANGE_PIN, LOW);
digitalWrite(FEU2_VOITURE_ROUGE_PIN, HIGH);
delay(FEU_VOITURE_VERT_DELAY);
//
digitalWrite(FEU1_VOITURE_VERT_PIN, LOW);
digitalWrite(FEU1_VOITURE_ORANGE_PIN, HIGH);
delay(FEU_VOITURE_ORANGE_DELAY);
digitalWrite(FEU1_VOITURE_ORANGE_PIN, LOW);
digitalWrite(FEU2_VOITURE_ROUGE_PIN, LOW);
}