Que la Lumière guide nos pas
Eclairage progressif des marches de l'escalier
Les marches de l'escalier s'illuminent les unes après les autres dans le sens montée, ou descente, suivant le côté où vous allez l'attaquer, avec un intervalle d'une seconde entre deux et restent allumées quatre minutes après déclenchement . La commande peut être faite de plusieurs manières: du simple bouton poussoir, aux détecteurs de mouvements hyperfréquences, lasers ou pyro-sensitifs, soit un tapis contact, ou encore une barrière infrarouge, depuis chaque entrée... L'important est de donner un contact pour enclencher l'illumination. Le circuit peut gérer de 1 à 15 marches et il suffit de retoucher les valeurs dans le programme pour modifier le nombre et les temporisations d'allumage et d'extinction ...
Les fichiers pour la réalisation:
Je les mets au début pour ceux qui n'ont pas la patience d'aller jusqu'au bout ... Le zip contient les fichiers sous Eagles Cadsoft, les images en JPEG, les programmes sous Arduino.INO et en files.TXT ! Le boîtier reste à définir en fonction de la configuration de l'espace à proximité de l'escalier à éclairer .
Stairway light (1.3 Mo)
Décortiquons les schémas :
Les schémas sont sur deux feuilles : Le circuit principal et sur l'autre feuille, les périphériques interfaces de pilotage des rubans de leds, ainsi que l'alimentation. Un troisième schéma (plus bas ) traite de la commande et des cas particuliers .
Le 12 volts de l'alimentation arrive sur les bornes JP1-2 en haut à droite, sur un condensateur de 'nettoyage ' (C1-0,1µF) puis s'en va sur l'Arduino en VIN bien sûr, ainsi que sur chaque connecteur (JP1 ... JP18) pour distribuer cette alimentation sur tous les rubans de leds de chaque marche, via les interfaces décritent ci-dessous. Le régulateur du Nano abaisse cette tension à 3,3 et 5 volts pour son propre fonctionnement . Quinze sorties sur ma maquette sont utilisées pour 15 marches (ce que chacun peut adapter à ses besoins ) et deux entrées (D12 / D13) pour la commande haute et basse de l'escalier . Des résistances de Pull-Down (R14 / R15) viennent tirer les potentiels à la masse... La faible valeur de ces deux dernières a pour but d'abaisser l'impédance pour éviter les pollutions parasitaires inductives qui risquent d'être ramassées par le cheminement des câbles et provoquer des déclenchements intempestifs.
Sur cette deuxième partie de schéma, en bas, on y trouve l'alimentation : Il nous faut un bon 12 volts capable de 'tenir' lorsque tous les barreaux de marches sont allumés ... Une mesure d'intensité ou un calcul s'impose dans le cas de chacun, en tenant compte du nombre de marches et du nombre de leds par marche et d'un peu de marge pour garantir un coefficient de sécurité suffisant ... Pour être dans la mode du moment, les économies d'énergie (c'est nous qui payons ) on va choisir une alimentation à découpage: en effet, elles ont un rendement qui est proche de 1, et n'ont pratiquement pas de consommation interne en restituant pratiquement tout ce qu'elles absorbent ...
Sur la partie supérieure, ce sont des interfaces embrochables sur les sockets de la carte principale. Je n'en ai représenté que quatre mais il en faut autant que de marches à illuminer. Elles ont un caractère universel et il n'est pas exclu de les servir dans d'autres montages, en cas de besoin d'une séparation galvanique où des tensions différentes travailleront ensembles . La pin 4 du connecteur nous amène le signal logique, via une résistance de limitation (R13 / 330 Ohms), sur un optocoupleur. Le phototransistor de cet optocoupleur va reproduire avec le 12 volts ( pin 2) l'état logique et venir l'appliquer à une led de visualisation limitée en courant par une résistance de 1K (R18 ), et envoyer également cette information sur le gate d'un transistor MOS-FET, via une limitation par la résistance de 1200 Ohms (R16) afin de rendre ce dernier conducteur, si la tension de l'électrode de commande est positive ... Une résistance de polarisation à la masse R17 (de 10 kilos Ohms) rappelle le potentiel du gate à zéro. Le MOS-FET, de référence IRFZ44 de chez International Rectifier, peut être en boîtier TO-220 mais la sérigraphie de mon circuit est pour un TO-263 (facile à modifier ) . Ce transistor n'a pour but que de tirer à la masse le ruban de leds, lorsqu'il est conducteur, avec une résistance interne source / drain presque nulle ( pratiquement pas d'effet joule ) ... Attention tout de même, les gates sont sensibles aux décharges statiques ... Sur le connecteur X3 à vis, on raccorde les fils des barreaux de leds en respectant la polarité, sinon ça fonctionne beaucoup moins bien !
La réalisation du circuit de base:
Comme vous l'avez vu sur la vidéo, le circuit est composé d'une platine de base sur laquelle viennent s'enficher les éléments de puissance qui sont aussi nombreux qu'il y a de marches . La simplicité de celle-ci permet de la réaliser, par les moyens habituels de l'amateur, sur de l'époxy ou de la bakélite simple face, sans strap et sans soucis majeurs. Les pistes sont réalisées avec une largeur de 8/10ème de mm sauf la ligne positive 12 volts qui est en 2,5 mm . En effet la VIN est distribuée à tous les sockets supports et doit pouvoir passer l'intensité de toutes les leds allumées...L'Arduino Nano est monté sur des supports tulipes avec des barrettes sécables mâle/mâle pour faciliter le démontage en vue d'une reprogrammation ou d'un remplacement . Les 15 connecteurs femelles à quatre contacts sont soudés pour recevoir les unités de pilotage. Un bornier à vis reçoit les informations des détecteurs ou boutons. N'oublions pas non plus de souder les deux résistances CMS de 4K7 côté cuivre ...
Réalisation des interfaces de puissance :
Il y a autant de circuits à réaliser que de marches à illuminer . je les ai regroupés sur un même typon par série de quatre. Le perçage est bien limité car mis à part le connecteur à 90° et le bornier à vis de sortie, tout les composants sont du CMS montés côté cuivre, et à souder les premiers, suivant la méthode classique ou de refusion avec le mini four de cuisine. La séparation à la scie demande un peu de rigueur car on les découpe après soudage . Reste à souder les connecteurs à l'équerre et le terminal de sortie : Attention de mettre des bornes à profil bas et éviter que les queues traversantes ne viennent en contact avec les vis de la voisine ... Au pire on ajoute un adhésif isolant . Une fois que tout est monté, ça ressemble à la photo ci-dessous .
La mise en boîte doit tenir compte de l'isolation avec entretoises et séparateurs . Une baguette de bois avec encoches, peut servir à maintenir les interfaces enfichées et perpendiculaires à la platine de base . Lors du choix du boîtier, il faut penser à intégrer l'alimentation, qui est bien dimensionnée en volume et puissance (et ventilée ), ainsi que les relais de commande, comme sur le schéma ci-dessous au cas où les boutons sont éloignés de l'Arduino ...
Le circuit de commande (optionnel ):
Dans le cas où la commande se trouve éloignée de l'Arduino Nano ou si les câbles cheminent vers d'autres câbles, on doit séparer électriquement les entrées D12/D13 par des relais, qui ont pour but d'éviter les enclenchements intempestifs sur des parasites ou des inductions . Les relais sont placés à proximité de la carte de base et les contacts NO commutent aux 5 volts les entrées tirées à la masse par des résistances de 2K2 (R1-R2). Des condensateurs de 0,1µF assurent un signal franc et massif sur l'entrée de la commande actionnée . Si les bobines des relais ne sont pas découplées par des diodes de roue libre, il faut en ajouter à l'extérieure (cathode sur le plus ), toujours pour se prévenir d'un souci d'immunité aux transitoires générées par la self rupture .
Et le programme pour piloter tout ça ...
Rien de particulier, et d'une étonnante simplicité ! On déclare les deux entrées et les sorties : le nombre de sorties est relatif au nombre de marches à allumer .
//Déclaration des boutons
const int butH = 12;
const int butB = 13;
//Déclaration des Relais
int led1 = 2 ;
int led2 = 3 ;
int led3 = 4 ;
int led4 = 5 ;
Puis dans le Setup, on oriente les registres de direction
void setup() {
// Bouttons en entrée
pinMode (butH, INPUT);
pinMode (butB, INPUT);
// Relais en sortie
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
Etc, etc, etc ... Ainsi que mise à zéro de toute les sorties:
// Force l'extinction au démmarage du programme, au POR ou reset
digitalWrite (led1,LOW);
digitalWrite (led2,LOW);
digitalWrite (led3,LOW);
digitalWrite (led4,LOW);
Etc, etc, etc ...Puis dans la boucle perpétuelle on attend une action sur un détecteur:
void loop() {
// Surveillance des boutons
if (digitalRead (butH) == HIGH){
lghtUp();
}
if (digitalRead(butB) == HIGH){
lghtDwn();
}
}
Ce qui provoque l'appel d'un sous-programme, suivant le sens demandé, avec une tempo de 1" entre chaque bandeau de leds :
void lghtUp() {
digitalWrite (led1,HIGH);
delay (1000);
digitalWrite (led2,HIGH);
delay (1000);
digitalWrite (led3,HIGH);
Etc,etc,etc... Temporisation de 4 minutes
//Tempo de 4 minutes
for (int i=0; i <= 240; i++){
delay(1000);
}
lghtOff(); //Saute à l'axtintion
}
Et on saute à la boucle d'extinction ...
void lghtOff() {
//Extinction
digitalWrite (led1,LOW);
digitalWrite (led2,LOW);
digitalWrite (led3,LOW);
Etc,etc,etc puis retour à la boucle principale pour attente d'une nouvelle action ...
Attendez, ne partez pas ... Jettez voir un coup d'oeil à la suite ...
Un éclairage de marches piloté par un automate
Pour ceux qui souhaitent réaliser la même chose, mais avec huit marches maximum, voici une variante pilotée par un petit Zelio de Schneider ... Un vrai plaisir que s'amuser avec ça : On ne voit pas le temps passer ! L'interface de développement orientée objet, offre une multitude de fonctions à drag and dropper sur le plan de travail et à relier entre elles par des traits qui définissent l'enchainement des situations ... La prise en main est très intuitive et on a tout de suite du résultat. Le model que j'ai utilisé est un SR3B261BD en 24 volts, mais je vous conseille le SR2A201BD en 12 volts, ( ça évitera de multiplier les alimentations ), qui a lui aussi 8 sorties sur relais et bien assez d'entrées car je n'en utilise que deux ... C'est plus cher que ma version Arduino, mais c'est plus esthétique et facile à mettre en oeuvre . Voici à quoi il ressemble :
Passons à la description du programme objet, qui se trouve dans le fichier zip ci-dessous. Dommage que le logiciel Zelio2 ne permette pas d'exporter la vidéo de ce qui se passe en direct live, ça m'aurait épargné d'avoir à commenter la page de ce que j'ai réalisé ...
En haut à gauche, on voit les deux boutons d'enclenchement pour la montée ou la descente. De l'autre côté, on a les sorties, simulées par des lampes et entre les deux ce que fait l'automate. Chaque action sur un des boutons enclenche la mémoire B29 via la porte "OU" B13: cette mémoire lance la tempo de 4 minutes (retardée à l'enclenchement ) et le bouton enclenche également une des mémoires de sens de progression Montée (B26) ou Descente (B23). La sortie de l'une ou l'autre valide la condition "ET" B25 ou B27, et chaque que l'horloge envoi pulse toutes les secondes . Ces pulses sont appliqués sur l'entrée d'un compteur à câme (B10 ou B11) de neuf pas, ce qui a pour but de faire avancer la progression. Le premier pas, après reset, ou au démarrage a toutes ses sorties à zéro logique. Lorsque le neuvième pas est atteint, cette sortie vient reseter la mémoire (B23 ou B26) pour ne plus autoriser les pulses de l'horloge (B28). Les sorties de ce compteur à came sont appliquées, via des cellules "OU" sur les relais de l'automate pour les activer les unes après les autres, et ce, dans les deux sens de progression ...
La tempo (B12) continue, elle, d'avancer dans le temps, jusqu'à atteindre les 4 minutes d'éclairement des marches et lorsque ce temps est passé, on envoie une impulsion sur le reset des compteurs à came, qui reviennent au premier pas (Toutes les sorties à "0" logique) et celle-ci vient également reseter la mémoire B29.... Et l'ensemble est prêt à repartir pour un nouveau cycle lors de la prochaine action sur une des entrées .
Le fichier du Zelio :
Staiway zelio (174.54 Ko)
Voilà donc deux moyens de donner un caractère original au plus banal des escaliers ... Les rubans de leds sécables sont en vente sur les sites habituels, en rouleaux de 3, 5 ou 10 mètres et il suffit de les couper à la bonne longueur dans les points prévus à cet effet, de souder les fils d'alimentations et de les coller sur des baguettes protectrices sous les nez de marches . Pour le câblage, c'est la configuration de la maison qui dicte le passage des fils qui doivent cheminer jusqu'à l'Arduino ou le Zelio, suivant le choix . Juste un rappel pour conclure: bien tenir compte de la capacité de l'alimentation à tenir toutes les leds allumées, avec un coefficient de sécurité correct ...
Ajouter un commentaire