RTC1
RTC2

Présentation du module RTC :

Les modules horloges temps réel (RTC en anglais Real Time Clock) sont des composants qui comme leur nom l’indique permettent d’obtenir une date et une heure. L’avantage de ces composants réside dans la pile bouton embarquée avec qui leur permet  de garder en  mémoire la date et l’heure qu’on a prédéfinie même lorsque votre carte n’est pas sous tension (il y a tout de même une faible déviation, j’ai pu observer un écart de 3 heures sur un interval de presque 3 ans déranché il faudra donc le remettre à l’heure de temps en temps). Le module utilisé sur cette page est celui disponible dans la boutique, les broches ne sont pas fournies avec, il vous faudra donc en trouver (ici par exemple) et les souder sur votre module.

Première utilisation:

Après avoir préparer votre module, téléchargez la bibliothèque RTC et installez-la. Puis câblez le module et votre Arduino :

RTC

Notre premier programme consiste à mettre à jour l’heure et la date du module en se basant sur l’heure et la date de votre PC grâce à ce programme :

//Bibliothèques :
#include <Wire.h>
#include "RTClib.h"

//RTC :
RTC_DS1307 RTC;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  RTC.begin();
  //Ajuste la date et l'heure au moment de la compilation 
  //à partir de l'heure et la date de votre PC
  RTC.adjust(DateTime(__DATE__, __TIME__)); 
}

void loop() {
    DateTime now = RTC.now(); 
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println(); 
    delay(1000);  
}

Une fois téléversé, vous verrez apparaitre dans le moniteur série l’heure et la date (le décalage de quelques secondes est du au temps de téléversement).

Maintenant que votre module est initialisé vous pouvez utiliser les fonctions présente dans la boucle loop pour utiliser les données du module !

Ce genre de module est très pratique lorsque l’on souhaite enregistrer des données sur une longu période de temps, comme par exemple pour une station météo.