Module RTC DS3231, horloge en temps réel.
Le DS3231 est une horloge en temps réel (RTC) I2C, low cost et extrêmement précise, avec un oscillateur à quartz compensé en température (TCXO). À différence du module DS1302, ce module à plusieurs avantages: son alimentation peut varier entre les 2.3V et les 5.5 V et il possède une batterie de secours. Comparé au module DS1307, le notre a aussi le cristal de quartz intégré, un capteur de température, 2 alarmes programmables et un pin de sortie de 32.768 kHz pour assurer une majeure précision. Notre module comporte aussi une mémoire EEPROM AT24C32 avec 32Kb pour stoker toutes sortes de données et un soubassement pour pile bouton.
Caractéristiques:
- Maintient l’heure et la date (année, mois, jour, heure, minutes, secondes)
- Oscillateur interne compensé en température (TCXO).
- Erreur de +-2ppm (quelques minutes à l’année).
- Batterie de secours.
- Sortie directe de l’oscillateur 32768 kHz (32K)
- Sortie programmable de 1 Hz, 1 kHZ, 4 kHz, 8 kHz (SQW)
- Connexion facile via interface I2C.
Schéma de montage avec la plaque Arduino:
Nous avons connecté le pin SLC au pin analogique 5 de la carte Arduino, Le SDA au pin analogique 4, le pin VCC au pin de 5V et le GND à la masse de la carte.
Code d’exemple:
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
void setup (){
Serial.begin(9600);
if (! rtc.begin()) {
Serial.println("Module RTC non retrouvé !");
while (1);
}
rtc.adjust(DateTime(__DATE__, __TIME__));
}
void loop (){
DateTime date = rtc.now();
Serial.print(date.day());
Serial.print("/");
Serial.print(date.month());
Serial.print("/");
Serial.print(date.year());
Serial.print(" ");
Serial.print(date.hour());
Serial.print(":");
Serial.print(date.minute());
Serial.print(":");
Serial.println(date.second());
delay(1000);
}