Header Ads

Une horloge temps réèl pour Arduino (et Raspberry)

Il y a quelques jours, nous écrivions un billet présentant le module RTC DS1307 qui n'est autre qu'une horloge permettant à votre projet de rester à l'heure même après un Reset ou une chute de tension.

Module RTC DS1307 disponible chez MCHobby
Aujourd'hui, c'est nous annonçons la finalisation de la documentation en Français :-) avec plan de montage et utilisation pour Arduino

Dès que j'ai un peu de courage (ou de demande), je traduirais également la documentation relative à son utilisation avec Raspberry PI.

En attendant, voici quelques informations pour vous mettre l'eau à la bouche.

Qu'est ce qu'un RTC

Une horloge temps réel est fondamentalement identique à une montre - elle fonctionne sur une pile et reste à l'heure même en cas de coupure de tension! Utiliser un RTC ("Real Time Clock" signifiant littéralement "Horloge temps réel") permet de préserver l'heure sur de très-très-très longues périodes, même si vous reprogrammer votre microcontroleur, déconnectez la prise USB ou retirez la fiche d'alimentation. La plupart des micro-controlleurs, y compris Arduino, inclus un chronomètre interne appelé millis() et il y a également des minuteries dans le circuit intégré qui permettent de suivre de plus longues périodes de temps comme des minutes ou des jours.
Mais pourquoi donc avoir besoin d'un circuit RTC en plus?
Et bien, la raison la plus importante est que millis() ne "chronomètre" le temps que depuis le dernier démarrage d'Arduino - cela signifie que lorsque l'alimentation est enclenché, la minuterie des millisecondes recommence à 0. Un Arduino ne sait pas qu'il est 'jeudi' ou 'le 8 mars' et tout ce qu'il peut dire c'est que 'il y a 14.000 millisecondes que j'ai été mis sous tension'.
Que faire si vous voulez initialiser l'heure sur un Arduino?
Vous avez besoin de programmer/initialiser la date et l'heure actuelle et vous pouvez alors compter sur le fait que le temps continue à progresser normalement depuis ce point du temps. Mais s'il y a une perte de tension, vous devrez redéfinir/reprogrammer la date et l'heure. C'est un peut comme avec les alarmes bon marchés: à chaque fois qu'il y a une coupure de tension, l'alarme/horloge clignote stupidement sur le chiffre 12:00
Si cette façon élémentaire de maintenir le temps convient à quelques projets, d'autres projets comme un "data logger", horloge, etc aurons besoin de préserver l'heure et l'écoulement du temps de façon cohérente même lorsque la pile de votre Arduino rends l'âme ou que vous ayez besoin de reprogrammer votre micro-controleur. Pour y arriver, il faut utiliser un module RTC!
Le composant RTC est une puce spécialisée qui ne fait que suivre l'écoule du temps. Il sait compter les années bissextiles et sait combien il y a de jours dans un mois, mais ne se préoccupe pas des horaires Eté/Hiver (parce que cette règle change d'un endroit à l'autre)

En savoir plus 
Traduire et documenter est un travail long et fastidieux... supportez nos efforts de traduction en achetant vos produit chez MCHobby.
 
Pour en savoir plus sur le DS1307, vous pouvez consulter notre fiche produit.
Vous pouvez également consulter notre traduction sur notre Wiki.