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 :

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 : raspi_P5pinout.png

Les principaux composants sont donc :

  • un CI RTC MAXIM DS1307 (fiche technique) dialoguant en série (I2C) et alimenté en 5V
  • un quartz de 32.768kHz
  • un support de pile bouton CR2032 de 3V
  • une plaque d'essai perforée double couche
  • un 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 : rtcpi_schema.png

La vue du dessin et la vue de dessus de la platine : RTCpi1.jpg

La vue de dessous de la platine : RTCpi2.jpg

La vue du module installé sur le Raspberry Pi : RTCpi3.jpg

Pour en savoir plus :