Afin de transformer un Raspberry Pi 1 modèle B en serveur de stockage de données pour l'acquisition des données de ma future station météo, j'ai voulu ajouter un composant particulièrement important et utile pour tout système informatique : une horloge temps-réel, ou Real-Time Clock (aussi dénommé « RTC »). Une RTC permet à un système, et donc au Raspberry Pi, de toujours être à l’heure, de manière exacte et très précise, sans avoir besoin d’internet.
Un module RTC se compose principalement d'un module RTC, d’un oscillateur à quartz et d’une pile de sauvegarde, qui permettra au module RTC de rester alimenté quand notre Pi sera éteint (et donc de garder l’heure en mémoire). On utilise généralement une RTC dans tout système qui a besoin d’accomplir des tâches dans des timings bien précis (un ordinateur, par exemple).
Je me suis principalement inspiré des 2 tutoriels de Adafruit :
- "Adding a Real Time Clock to Raspberry Pi" (lien vers l'article)
- "DS1307 Real Time Clock Breakout Board Kit" (lien vers l'article)
Le but est de créer un module supplémentaire se connectant sur le Raspberry Pi en utilisant le bus I2C soit via le connecteur d'extension principale P1 ou via le connecteur P5. Afin de conserver libre le connecteur P1 pour une utilisation future (un écran LCD, par exemple), j'ai décidé d'utiliser le connecter P5. Sur ce dernier, les broches du connecteur sont :
Les principaux composants sont donc :
- 1 circuit intégré RTC MAXIM DS1307 (fiche technique) dialoguant en série (I2C) et alimenté en 5V
- 1 quartz de 32.768kHz
- 1 support de pile bouton CR2032 de 3V
- 1 plaque d'essai perforée double couche
- 1 condensateur de filtrage en céramique de 0.1µF
- 2 résistances de 2.2kOhm
Le schéma de principe électronique de ce module est :
Version haute définition ici
La vue du dessin et la vue de dessus de la platine :
Version haute définition ici
La vue de dessous de la platine :
Version haute définition ici
La vue du module installé sur le Raspberry Pi :
Version haute définition ici