Bonjour
Je me lance avec un nouveau projet : une horloge infinie à LEDs. On en voit pas mal sur Internet alors j'ai voulu tester. Je mettrai ce post à jour au fur et à mesure... avec des images, des codes, des fichiers, etc.
Tout d'abord une vidéo qui explique mieux ce qu'est une horloge infinie. (une nouvelle version ce soir sans la latence)
Une horloge infinie utilise les réflexions multiples entre un miroir et un miroir semi réfléchissant pour donner l'illusion d'une grande profondeur alors qu'elle ne fait qu'un centimètre ! L'heure est indiquée par des LEDs (ici des WS2812) qui se réfléchissent de nombreuses fois entre ces interfaces et donnent cette impression de profondeur.
Les LEDs étant adressables et multicolores, il est donc facile de les utiliser pour faire des animations lumineuses.
L'horloge est commandée par une liaison sans fil. J'avais fait une première version Wifi avec un ESP8266 mais les sorties numériques en 3.3V n'étaient pas adaptées aux LEDs (qui ont besoin d'une commande en 5V) ce qui provoquait des glitches que je n'ai pas pu régler. J'ai commandé un circuit level shifter : s'il règle le problème, je posterai la version Wifi.
Je me suis donc tourné vers un Arduino Nano (un clone Chinois) avec une commande Bluetooth, via un HC06. La commande se fait sur un smartphone Android grâce à l'excellent logiciel freeware Bluetooth Electronics de KeuwlSoft.
Le reste coule de source : apprentissage, codage et préparation de l'IHM.
Il a bien sûr fallu faire l'horloge elle-même. Un bandeau de LEDs WS2812 acheté chez Ali***, et du bois pour la structure. J'ai acheté du MDF 3mm chez Leroy Merlin, ainsi qu'un peu de plexiglass, et me suis rendu au FabLab le plus proche pour faire les pièces par découpe laser.
Achats :
- Arduino nano
- Module HC06
- Module RTC DS3231
- Bandeau de 60 LEDs
- Connectique
- Panneau MDF 3mm
- Plaque de plexiglass (épaisseur 2 mm ?)
- Feuille de miroir autocollante
- Film adhésif sans tain pour fenêtre
Je joins les fichiers pour la découpe. Le plus "angoissant" était de bien calculer les dimensions, imposées par le bandeau de LEDs. Le bandeau fait 1 mètre de long et comporte 60 LEDs : elles sont déposée en cercle, ce qui impose le périmètre du cercle, donc son rayon et toutes les dimensions pour les découpes (miroir, plexi, etc)
Bref, la vidéo montre que ça marche, j'en suis assez content, j'ai corrigé la gestion des commandes Bluetooth (le module est réglé à 115200 bauds, vitesse max compatible Arduino) qui posait des problèmes de latence.
A propos de la commande : voici ce qui est possible.
- Mise à l'heure (voir plus bas)
- Choix de certaines couleurs. Par défaut, l'heure est marquée par une LED rouge, les minutes par une verte. La couleur des secondes peut être changée
- Choix de l'animation. Selon l'animation, on peut changer certaines couleurs et palettes de couleur. Pour l'animation 7, la palette correspond au changement de drapeau...
- Affichage ou non des repères des 5 minutes
- Affichage dans la petite console des commandes
Une image vaut mieux qu'un long discours...
La vidéo a été faite avec un téléphone portable, qui, même s'il est de bonne qualité, ne donne qu'une assez moyenne idée du résultat réel. Les couleurs sont plus pures et mieux localisées (ne bavent pas) en réalité...