Un élément clé dans de nombreux projets Arduino est la gestion du temps. Que ce soit pour réaliser un réveil, un enregistreur de données, ou tout autre système demandant une gestion précise du temps, l’utilisation d’un module RTC (Real Time Clock) s’avère être la solution parfaite.
Dans ce tutoriel, nous allons découvrir le module RTC pour ESP32 et voir comment il peut optimiser la précision et la fiabilité de vos projets.
Voici le schéma associé au projet :
Lire l'heure du module d'horloge
Pour utiliser le moduel d’horloge DS1307, vous allez avoir besoin d’installer la librairie RTClib dans Arduino IDE. Pour cela cliquer sur Gestionnaire de bibliothèque puis RTClib :
#include <Wire.h>
#include <RTClib.h>// Créez une instance de l'objet RTC_DS1307RTC_DS1307 rtc;voidsetup(){// Initialiser la communication série pour l'affichage des valeursSerial.begin(115200);// Initialiser la communication I2C avec des pins spécifiquesWire.begin(21,22);// SDA sur GPIO21, SCL sur GPIO22// Vérifiez si le DS1307 est bien connectéif(!rtc.begin()){Serial.println("Impossible de trouver un RTC DS1307 !");while(1);}// Vérifiez si la montre RTC est correctement configuréeif(!rtc.isrunning()){Serial.println("RTC n'est pas en cours d'exécution, il va être configuré.");
rtc.adjust(DateTime(F(__DATE__),F(__TIME__)));// Réglage automatique à la date et à l'heure de compilation du code}}voidloop(){// Lire l'heure et la date depuis le DS1307DateTime now = rtc.now();// Afficher les valeurs sur le moniteur sérieSerial.print("Date et heure actuelles : ");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();// Attendre une seconde avant la prochaine lecturedelay(1000);}
Voici ce que l’on peut lire sur le moniteur série une fois le programme téléversé sur notre carte ESP32 :
Merci de votre confiance.Vous recevrez dans votre boîte mail l'extrait dès qu'il sera terminé !