Utiliser un Yocto-PowerRelay pour allumer une lampe depuis un ordinateur est relativement trivial. Par contre, être obligé d'allumer un ordinateur pour allumer une lampe n'est pas des plus pratique. Cette semaine, nous vous présentons un câblage permettant de contrôler une lampe à la fois depuis un ordinateur et un simple commutateur. Suivi d'une application bien pratique: une lampe de bureau contrôlée par un économiseur d'écran.
Le câblage permettant de commander une lampe depuis deux interrupteurs est appelé un "va-et-vient". En fait, ce câblage utilise des commutateurs et non pas des interrupteurs. A chaque fois qu'un commutateur est actionné, l'état de la lampe est inversé. Ce type de câblage est utilisé dans toutes les maisons pour l'éclairage des différentes pièces.
Le câblage d'un va-et-vient
Ce schéma est facilement transposable à une situation où l'on veut contrôler une lampe à la fois manuellement et depuis un ordinateur. Il suffit de remplacer un des commutateurs par un relais, un Yocto-PowerRelay par exemple. Mais il y a un hic: un changement d'état du commutateur ou du relais ne fait qu'inverser l'état de la lampe. Par conséquent, l'ordinateur ne peut pas déduire l'état de la lampe en fonction de l'état du relais. Une solution à ce problème consiste à déduire l'état de la lampe en fonction de la présence ou non de tension dans le circuit, à l'aide d'un Yocto-Volt par exemple.
Version informatisée à l'aide d'un Yocto-PowerRelay et un Yocto-Volt
Vous savez maintenant comment fabriquer un simulateur de présence qui piloterait une lampe, tout en laissant cette lampe parfaitement utilisable en temps normal. Mais on aurait aimé fabriquer quelque chose d'un peu plus subtil: ne vous est-il jamais arrivé de quitter votre bureau en laissant votre ordinateur allumé et d'oublier de revenir l'éteindre?
Mise en application
Il est relativement aisé de faire en sorte qu'un ordinateur de bureau s'éteigne tout seul au bout d'un moment, les systèmes d'exploitation les plus récents ont même un réglage pour ça. Mais qui va éteindre la lumière?
L'idée est donc de programmer un économiseur d'écran qui va éteindre la lampe de bureau quand il se déclenche et qui, par la même occasion, va éteindre l'ordinateur au bout d'un certain temps. Bien sûr, la lampe doit rester utilisable manuellement.
Peut-on hacker cette lampe pour qu'elle soit pilotable par USB, tout en restant fonctionnelle?
Cela peut paraitre simple à première vue, mais cela rajoute une petite difficulté: On ne peut plus se contenter d'utiliser un Yocto-PowerRelay dans le va-et-vient. Imaginons que l'ordinateur doive activer le Yocto-PowerRelay pour éteindre la lampe. Lorsque l'ordinateur va décider de s'éteindre, le Yocto-PowerRelay va être privé de courant, ce qui va ramener le relais à sa position de repos. La lampe va donc se rallumer.
On peut résoudre le problème en intercalant un hub USB alimenté entre l'ordinateur et le Yocto-PowerRelay, mais il est un peu ridicule de consommer du courant pour maintenir une lampe éteinte.
L'autre solution consiste à utiliser un Yocto-Relay pour piloter un gros relais bistable. Les relais bistables ont la particularité de conserver leur état en l'absence de courant. Ils sont généralement pilotés par impulsions: une impulsion entre deux contacts place le relais dans un état, une impulsion entre deux autres place relais dans l'état inverse.
Fonctionnement d'un relais bistable
La dernière question en suspend est: où trouver le courant pour piloter le relais bistable? Réponse: au seul endroit où il y en a, c'est-à-dire sur le bus USB. Par contre, prélever du courant sur le bus USB pour piloter une charge inductive comme un relais est assez risqué: on court le risque de voir des surtensions de se propager sur le bus USB. Il est aussi possible que la commutation du relais absorbe trop de courant, au point de faire baisser brièvement la tension sur le bus, et causer une déconnections temporaire des modules. Il est donc nécessaire de protéger le bus USB à l'aide que quelques diodes et condensateurs.
Le schéma complet.
Pour réaliser ce bricolage de manière élégante, on a décidé de placer toute l'électronique dans le pied de la lampe. Il faut donc caser dans le pied l'alimentation de la la lampe, un relais bistable, un Yocto-Relay, un Yocto-Volt, un Micro-USB-Hub et tout le câblage. L'alim de la lampe que l'on a choisie était constituée d'un gros transformateur qui occupait toute la place disponible dans le pied. On l'a donc remplacée par une alimentation à découpage, un peu plus petite. En fait, c'est là que réside la vraie difficulté du projet: il faut trouver un design suffisamment compact pour tout faire rentrer dans le pied de la lampe.
L'alimentation originale
La version Yoctopuce: ça ne ressemble à rien, mais tout ce fatras sera caché dans le pied
La programmation d'un économiseur d'écran qui soit à la fois capable d'éteindre l'ordinateur de piloter la lampe de bureau n'a pas beaucoup d'intérêt dans le cadre de cet article, mais vous pouvez le télécharger ici. Il est écrit en Delphi, les sources sont disponibles avec. Voilà le résultat une fois terminé.
Plutôt cool, non ?