Brève description
Ce module est une horloge autonome pour microcontrôleur :
-
Décompte de l’heure et de la date : Il conserve secondes, minutes, heures, jour, mois et année précis.
-
Support pile bouton (CR1220 / CR2032 selon modèle) : Permet au composant de continuer à garder l’heure exacte même lorsque l’Arduino est hors tension.
-
Communication I2C : Utilise seulement 4 fils (
VCC,GND,SDA,SCL).
Utilité et applications
-
Horodatage de données (Data Logging) : Enregistrer la date et l’heure exactes de relevés de capteurs sur carte SD.
-
Systèmes d’automatisation temporelle : Déclencher des actions à des heures précises (ex: arrosage automatique à 8h00, éclairage nocturne, distributeur de nourriture).
-
Réveils et horloges numériques.
#include <Wire.h>
#include <RTClib.h>
RTC_DS1307 rtc;
void setup() {
Serial.begin(9600);
// Initialisation du bus I2C et du module RTC
if (!rtc.begin()) {
Serial.println(« Impossible de trouver le module RTC ! »);
while (1);
}
// Si le RTC a perdu son alimentation (première utilisation ou pile vide)
if (!rtc.isrunning()) {
Serial.println(« Le RTC ne tourne pas, ajustement de l’heure… »);
// Ajuste l’heure du RTC sur la date et l’heure de compilation du code
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
// Lecture de l’heure actuelle depuis le RTC
DateTime now = rtc.now();
// Affichage dans le moniteur série (Format: JJ/MM/AAAA HH:MM:SS)
Serial.print(now.day(), DEC);
Serial.print(‘/’);
Serial.print(now.month(), DEC);
Serial.print(‘/’);
Serial.print(now.year(), 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); // Mise à jour chaque seconde
}







Avis
Il n’y a pas encore d’avis.