Il file Ă toute allure quand on est pressĂ© et s’Ă©coule Ă 2 Ă l’heure quand on s’ennuie.
Voici Horlog’, une horloge qui illustre l’accĂ©lĂ©ration du temps au cours d’une journĂ©e.
Le concept
Vous le savez, notre perception du temps est différente du temps réel qui passe.
La nuit et au petit matin, chaque heure avance Ă petits pas.
tic . . . tac . . . tic . . . tac
Puis progressivement, pendant que la journĂ©e progresse et que les taches s’accumulent, le temps qu’il nous reste avant de se coucher dĂ©file de plus en plus vite.
tic tac tic-tac ti-tac
Pour les minutes, c’est la mĂȘme chose : au dĂ©but d’une heure, on est laaarge, on dispose de 60 minutes avant l’heure suivante. Mais sans que l’on s’en rende compte, il n’en reste plus qu’une petite poignĂ©e avant l’heure suivante !!
Quoi que l’on fasse, les minutes et les heures dĂ©filent inlassablement durant la journĂ©e. Plus le temps passe, plus il semble inarrĂȘtable avant que tout-d’un-coup, le compteur se remette Ă zĂ©ro le jour suivant.
L’origine
Pour ce projet, tout a commencĂ© quand mon ami FrĂ©dĂ©ric Granon a postĂ© son prototype d’horloge logarithmique en Processing. Je me suis dit que ça illustrait vraiment bien le temps qui se contracte et se dilate au cours d’une journĂ©e.
Le temps Ă passĂ©, mais l’idĂ©e a continuer de me trotter dans la tĂȘte jusqu’a ce que je me dise que ça ferait un prototype sympa a fabriquer et coder.
La réalisation
La principale difficultĂ© a Ă©tĂ© de trouver un dispositif permettant de faire tourner l’aiguille des heures et celle des minutes de maniĂšre totalement indĂ©pendantes.
Sur Aliexpress j’ai fini par dĂ©nicher ce double moteur pas-Ă -pas qui semble ĂȘtre utilisĂ© habituellement pour des compteurs de motos et un microcontrĂŽleur ESP32 soudĂ© sur une board de prototypage.
A l’intĂ©rieur du « moteur » on trouve 4 bobines que l’ESP32 va devoir alimenter Ă©lectriquement par intermittence pour faire tourner les engrenages. Dans la version que j’ai achetĂ©, un picot en plastique empĂȘchait la rotation continue. Coupez-le ou achetez directement la version 360 degrĂ©s si vous souhaitez vous en servir comme horloge.
Reste Ă souder des fils, imprimer les aiguilles en 3D avant de tout assembler.
CotĂ© programmation, je ne vais entrer dans les dĂ©tails, le code sur Github n’est pas trĂšs long et je pense suffisamment commentĂ© pour ĂȘtre comprĂ©hensible.
Reste un dernier problĂšme que je n’ai pas encore abordĂ©.
Celui du calibrage des aiguilles et la façon de rĂ©gler l’heure.
Un moteur pas-Ă -pas ne renvoi pas sa position(/angle) au microcontroleur. Impossible de savoir la position des aiguilles au dĂ©marrage. Pour rĂ©gler ce problĂšme, j’ai programmĂ© le ESP32 pour qu’il fasse hotspot wifi lorsqu’on alimente l’horloge.
En s’y connectant avec un smartphone, une page web permet de positionner les aiguilles sur la graduation 00h00. L’horloge est ainsi calibrĂ©e, le smartphone peut alors communiquer l’heure Ă l’arduino, les aiguillent se dĂ©placent sur les bonnes graduations et le wifi se coupe rendant le dispositif autonome.
Tout le projet est sur Github sous licence CC BY-NC : https://github.com/katze/horlog