J'ai baptisé « Heliodon » un dispositif destiné à suivre le Soleil dans son mouvement (par rapport à la Terre évidemment).
Je possède une box domotique Vera Lite. Celle-ci dispose d'un plug-in Heliotrope qui fournit à la demande l'azimuth et la hauteur du lieu où se trouve la Vera.
Une scène de la Vera interroge le plug-in toutes les heures et les transmet à une page php qui écrit les valeurs ainsi que l'heure dans un fichier texte (SunPos.txt) .
Cette même page présente au visiteur un graphique de la position du Soleil au cours de la journée.
L'heliodon est constitué essentiellement de deux servos (de modélisme) pilotés par une carte Arduino (Uno).
Une application sur mon ordinateur lit toutes les heures les données du fichier Sunpos.txt et les extrapole toutes les minutes par interpolation de l'heure précédente.
Cette application peut transmettre les valeurs calculées à l'Arduino par communication série.
Mais comme l'heliodon est sensé se trouver dehors et pas l'ordinateur, la communication se fait via une deuxième carte Arduino (Leonardo) et une liaison sans fil XBee.
Exemples de valeurs d'azimuth : au solstice d'été le Soleil se lève à 57° et se couche à 303°. Au solstice d'hiver c'est 121 et 239°.
Pour la hauteur, elle varie de -23 à 70 l'été et de -70 à 23 l'hiver . Tout ceci pour ma latitude :
43.66179°.
Le sketch exécuté par l'Arduino Leonardo se contente de recopier ce qu'il reçoit sur un port série sur un autre port série.
Le sketch de l'Arduino Uno décode les valeurs texte en provenance de l'ordinateur et commande les servos en conséquence.
Liens :
GetVera | Arduino | XBee |
![]() |
![]() |
![]() |