- Projet de synchronisation sur l’heure Internet d’une horloge analogique à quartz bon marché, pilotée avec un module ESP8266 et un sketch Arduino
- L’heure est récupérée toutes les 15 minutes depuis un serveur NTP pour maintenir la précision, avec ajustement automatique de l’heure d’été
- La bobine du moteur pas à pas Lavet de l’horloge est isolée afin que l’ESP8266 puisse la piloter, et une puce EERAM est utilisée pour mémoriser la position des aiguilles des heures, minutes et secondes même en cas de coupure d’alimentation
- Lors de la configuration initiale, la position des aiguilles est définie via une interface de page web fournie par l’ESP8266, puis l’état de l’horloge est visualisé sur une page de statut en SVG ou HTML Canvas
- Un exemple open source montrant comment réaliser une horloge précise synchronisée par le réseau avec du matériel bon marché, et une application pratique des techniques de contrôle IoT embarqué
Aperçu du projet
- ESP8266 WiFi Analog Clock est un système qui utilise un module WEMOS D1 Mini ESP8266 et un sketch Arduino pour récupérer automatiquement l’heure locale depuis un serveur NTP(Network Time Protocol) et l’afficher
- Reconnexion au serveur NTP toutes les 15 minutes pour conserver la précision de l’horloge
- Inclut un ajustement automatique de l’heure d’été (Daylight Saving Time)
- Le projet repose sur une horloge analogique à quartz à bas coût et combine modification matérielle et contrôle logiciel
Configuration matérielle
- L’horloge utilisée est une horloge analogique à quartz achetée chez Walmart pour 3,88 $
- Le mouvement à quartz est ouvert afin de séparer la bobine interne du moteur pas à pas Lavet de l’oscillateur à quartz, puis des fils sont soudés sur chaque broche pour connecter l’ESP8266
- La plupart des mouvements sont assemblés par encliquetage, sans vis
- Les fils de la bobine sont plus fins qu’un cheveu et doivent être manipulés avec une extrême précaution
- Le circuit final est monté sur une plaque perforée (perfboard) avec le circuit intégré EERAM et d’autres composants
Fonctionnement logiciel
- Le sketch AnalogClock.ino fait comparer par l’ESP8266, 10 fois par seconde, l’heure réelle et l’heure affichée par l’horloge
- Si l’horloge est en retard, l’aiguille des secondes est accélérée pour resynchroniser
- Si l’horloge est en avance, le système attend que l’heure réelle la rattrape
- Le déplacement de l’aiguille des secondes se fait en appliquant une impulsion bipolaire (bipolar pulse) à la bobine du moteur Lavet
- Selon les caractéristiques du moteur, il faut ajuster la constante PULSETIME ; expérimentalement, 30 ms s’avèrent adaptés
- Les horloges bon marché ne disposent pas de retour sur la position des aiguilles, ce qui entraîne une perte de cette information en cas de coupure d’alimentation
- Pour résoudre ce problème, le projet utilise une Microchip 47L04 Serial EERAM (SRAM 4Kbit + sauvegarde EEPROM)
- La position des aiguilles des heures, des minutes et des secondes est enregistrée chaque seconde, puis restaurée au redémarrage
Configuration initiale et interface web
- Lors de la première exécution du sketch, l’ESP8266 fournit une simple page web permettant à l’utilisateur de définir la position initiale des aiguilles
- Ensuite, l’ESP8266 mémorise la position des aiguilles à l’aide des données stockées dans l’EERAM
- En fonctionnement, une page de statut (status page) est proposée avec trois modes d’affichage
- Affichage graphique du cadran basé sur SVG
- Affichage du cadran basé sur HTML Canvas
- Affichage d’état en texte seul
Licence et informations techniques
- Le projet est publié sous licence MIT
- La répartition principale des langages est C++ 64,1 % et C 35,9 %
- Le dépôt GitHub compte 252 stars et 2 forks
- Tags associés : arduino, esp8266, clock, analog-clock, ntp, hardware-construction
Intérêt
- Un exemple concret pour transformer une horloge bon marché en horloge connectée synchronisée en Wi‑Fi
- Un cas d’usage de contrôle temporel précis et d’interface web avec ESP8266 et l’environnement Arduino
- Une ressource open source utile pour apprendre la modification de matériel IoT et les techniques de synchronisation firmware
Aucun commentaire pour le moment.