Aujourd’hui, je vous présente un projet simple, mais typique de ce que j’aime faire : un bon mélange d’électronique, d’impression 3D et de « programmation » (vous verrez). Et pour une fois, ce système est utile !
L’objectif est simple : connecter à Home Assistant un ruban lumineux adressable et une décoration style néon en USB A.

J’ai réalisé ce projet pour ma sœur. Elle avait déjà la décoration style néon, mais j’ai ajouté le ruban lumineux. Concernant celui-ci, je me le suis procuré chez Action pour un prix relativement abordable étant donné que la longueur est de 5 mètres et que la densité est de 280 DEL par mètre ! Il y a tout de même un détail (comme souvent chez les enseignes du type Action) qui est décevant : le ruban est adressable, mais par sections de 10 cm. Le rendu n’est donc pas terrible pour une lumière directe et avec certains effets.
Dans mon installation, le ruban est positionné de sorte qu’il produit un éclairage indirect assez diffus (derrière un meuble) donc ici le problème n’est pas gênant.
Bref, assez parlé. Commençons !
L’électronique
L’électronique embarquée est assez simple. Il faut une partie commande qui décide des ordres à envoyer à la partie gestion de l’alimentation. Cette dernière va directement gérer les appareils branchés. J’ai intégré quelques fonctionnalités supplémentaires : un bouton programmable, un bouton ON/OFF et des connecteurs pour l’alimentation et les deux sorties.

Partie commande
Le « cerveau » du système ne change pas de d’habitude : c’est un ESP. Ces microcontrôleurs présentent de nombreux avantages : un coût réduit, une puissance suffisante, une connectivité Wi-Fi et un nombre de broches suffisant. C’est une sorte d’Arduino amélioré ! Le seul (ou en tout cas le principal) inconvénient des ESP dans le cadre de notre usage est la tension de fonctionnement qui est de 3,3 V. Vous verrez plus tard en quoi c’est gênant.
J’ai chez moi des microcontrôleurs Wemos D1 Mini qui embarquent des ESP8266. Ils se prêtent parfaitement à l’usage que je lui réserve : la carte est compacte et peu chère. Je n’ai pas besoin de beaucoup de broches ici.
Partie puissance
Le Wemos D1 Mini envoie les ordres à la partie puissance, qui elle se charge de gérer l’alimentation des lumières d’ambiances. Il existe plusieurs méthodes de contrôle dépendant de plusieurs facteurs. Je vais en présenter deux ici.
Pour gérer le ruban lumineux adressable, la partie puissance est en réalité gérée directement par le ruban. En effet, le ruban dispose de trois broches : deux broches pour l’alimentation (+24V et GND) et une broche pour la ligne de données. C’est le ruban lui-même qui va gérer sa couleur et sa luminosité pour chaque section en fonction des ordres envoyés.
Notre travail est donc de lier le microcontrôleur (ici un Wemos D1 Mini) au bus de donnée du ruban. Malheureusement, les tensions de fonctionnement des deux organes sont différentes : 3,3 V pour l’ESP et 5 V pour le bus du ruban lumineux. L’utilisation d’un circuit intégré supplémentaire s’impose alors pour palier au problème. Ici, j’utilise un SN74AHCT125N, un level shifter, qui permet de passer d’un signal 3,3 V à 5 V. De la documentation plus poussée sur l’utilisation de ces composants est disponible sur Internet.
Concernant la décoration stylé néon alimentée en USB A (et donc en 5V), j’ai utilisé un composant assez classique pour ce type de contrôle : un relais. Cette sorte d’interrupteur est actionnée par l’ESP pour allumer ou éteindre l’objet.
Une fois de plus, le 3,3 V de l’ESP ne simplifie pas la tâche ! Heureusement, il existe des cartes (lien donné à titre indicatif, je n’ai pas acheté cet article en particulier !) intégrant toute l’électronique nécessaire. En réalité, ici, l’ESP contrôle un transistor qui contrôle lui-même un relais. Le circuit imprimé nous simplifie grandement la tâche !
Les interfaces
L’alimentation est fournie en 24V par une prise jack. Un bouton permet de couper complètement l’alimentation. Le 24V alimente ensuite le ruban lumineux et un convertisseur de tension réglé sur une sortie à 5V pour le Wemos D1 Mini et d’autres composants.
Une prise USB A femelle permet le branchement de la décoration style néon, et un connecteur JST à trois broches lie le système au ruban lumineux.
Enfin, il y a un bouton poussoir programmable.
La réalisation de l’électronique
Un circuit imprimé de prototypage accueil les composants principaux.

Tout est assemblé en suivant ce schéma :

On retrouve les composants suivants :
- Le microcontrôleur Wemos D1 Mini.
- Un module relais pour gérer la décoration style néon.
- Un circuit intégré SN74AHCT125N pour élever la tension de contrôle du ruban lumineux adressable.
- Des connecteurs :
- USB A pour la décoration.
- JST pour le ruban lumineux.
- Jack pour l’alimentation en 12V.
- Un bouton d’alimentation et un bouton poussoir programmable.
- Des connecteurs internes (JST et Dupont) pour rendre chaque composant modulable.
- Un abaisseur de tension réglé sur une sortie en 5 V.
- Une résistance dont la valeur est comprise entre 33 et 200 ohms. La valeur dépend du fil allant jusqu’au ruban lumineux. Une valeur plus élevée peut résoudre des problèmes de fluctuation lumineuse.
- Un condensateur de 470 µF (recommandé par la documentation mentionnée plus haut).
Les liens sont uniquement donnés à titre indicatif ! Pour la réalisation des connectiques, j’utilise un kit que j’avais trouvé sur Internet avec tout le nécessaire : pince, terminaux et protections en plastique. Cela rend le montage beaucoup plus propre et c’est utile dans de nombreux les projets.
L’arrière du circuit contient tous les fils :

Enfin, il faut préparer tous les composants en périphérie avec des fils électriques :

Il faudra ensuite se procurer une alimentation en 24 V générique (ou utiliser celle du ruban lumineux Action) et souder un cordon depuis le ruban lumineux pour qu’il puisse être alimenté par le boîtier.
La finition
Bien que je trouve l’électronique très belle, un boîtier renfermant le tout donne une finition plus propre ! Vous l’aurez compris, c’est l’heure de sortir l’imprimante 3D !
Comme d’habitude, j’ai utilisé le logiciel FreeCAD pour la modélisation. Je n’ai pas posté le design sur Printables mais je le partage rien que pour vous ! Vous pouvez retrouver les fichiers 3D et le fichier FreeCAD.
Le modèle du boîtier est simple : c’est un pavé avec quelques trous pour les connecteurs et boutons et avec des inserts pour garder les circuits en place. C’est simple, mais efficace.
Pour permettre d’enclencher le bouton programmable, j’ai effectué une découpe (dans le logiciel de modélisation) dans le capot de fermeture avec une sorte de pic qui s’étend jusqu’au bouton. Cela permet de cliquer dessus.


Chaque composant a sa place attitrée. Il suffit de les visser aux inserts préalablement posés avec un fer à souder :

Le capot termine l’assemblage et la partie physique est terminée !

La programmation
Je vous préviens tout de suite que la partie programmation va être très simple, et pour cause, je vais utiliser ESPHome.
Pour quelques personnes du fond de la classe, ESPHome est un logiciel qui permet de « programmer » très facilement des ESP dans le but principal de les connecter à Home Assistant (un serveur de domotique). Cela permet de créer soi-même (comme ici) ses appareils de domotique.
La configuration de l’ESP pour ce projet est la suivante :
# Ici, on définit le nom de l'appareil.
esphome:
name: console-de-la-chambre
friendly_name: Console de la chambre
# On dit quel variante d'ESP est intégrée dans le Wemos D1 Mini.
esp8266:
board: esp01_1m
# On active les journaux (logs).
logger:
# On active la connexion à Home Assistant (la clé a été enlevée, elle permet de se connecter à l'appareil depuis Home Assistant).
api:
encryption:
key: KEY
# On active la mise à jour sans fil (le mot d passe a été enlevée, elle permet de mettre à jour le logiciel à distance).
ota:
- platform: esphome
password: KEY
# On renseigne les identifiants du Wi-Fi pour que l'ESP s'y connecte.
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# On indique que la broche GPIO4 contrôle la décoration style néon.
output:
- platform: gpio
pin: GPIO4
id: 'neon'
# On indique que la broche GPIO2 contrôle le ruban lumineux adressable.
light:
- platform: neopixelbus
type: RGB
variant: WS2811
icon: mdi:led-strip-variant
pin: GPIO2
num_leds: 14
name: "Rétroéclairage"
id: 'retroeclairage'
effects:
- addressable_rainbow:
name: "Arc-en-ciel"
- addressable_color_wipe:
name: "Guirlande"
- addressable_scan:
name: "Scan"
- addressable_twinkle:
name: "Paillettes"
- addressable_fireworks:
name: "Feux d'artifice"
- platform: binary
name: "Néon"
icon: mdi:cards-heart-outline
output: neon
# On programme le bouton pour qu'il bascule le ruban lumineux adressable.
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode:
input: true
pullup: true
id: 'bouton'
on_press:
then:
- light.toggle: 'retroeclairage'
Je vous laisse lire les commentaires que j’ai rédigés pour comprendre chaque partie du fichier de configuration. La documentation d’ESPHome est très pratique pour cette « programmation ».
Cela suffit à faire fonctionner l’ESP ! Une fois connecté à Home Assistant, tout est parfaitement intégré à l’interface :

On peut changer la couleur et définir des effets pour le ruban lumineux adressable, par exemple :

Conclusion
Voilà, vous savez maintenant comment j’ai réalisé ce petit projet. Je trouve qu’il y a dedans un beau mélange d’électronique, d’impression 3D et de programmation. C’est beau de pouvoir créer soi-même ce type d’objet qui correspond parfaitement à nos besoins.
J’espère que cet article vous aura inspiré et n’hésitez pas à poster un commentaire si vous avez une quelconque remarque ou question ! Vous pouvez aussi consulter le dossier complet du projet.
Laisser un commentaire