Bonjour,
Question de débutant:
Je tente de mettre l'heure sur ma RTC et j'ai sur le faire (l'heure s'affiche bien dans le moniteur) mais je vois différents codes de personnes qui en aident d'autres, mais aucun ne me permet de récupérer l'heure de la RTC avec un code simple.
Il me semble que suivant les aides, la manière de récupérer l'heure est différente.
D'autre part, quel type de variable pour l'heure et les minutes dois-je utiliser ? int ou autre ?
Voilà mon code:
#include <Wire.h>
#include <TimeLib.h>
#include <DS1307RTC.h>
void setup() {
Serial.begin(9600);
while (!Serial) ; // wait for serial
delay(200);
Serial.println("DS1307RTC Read Test");
Serial.println("-------------------");
}
// vidéo ici: https://www.youtube.com/watch?v=lyvoOEO-Ncg&feature=youtu.be
void loop() {
tmElements_t tm;
if (RTC.read(tm)) {
Serial.print("Time = "); // affichage de la date et heure
print2digits(tm.Hour);
Serial.write(':');
print2digits(tm.Minute);
Serial.write(':');
print2digits(tm.Second);
Serial.print(", Date (D/M/Y) = ");
Serial.print(tm.Day);
Serial.write('/');
Serial.print(tm.Month);
Serial.write('/');
Serial.print(tmYearToCalendar(tm.Year));
Serial.println();
} else {
if (RTC.chipPresent()) {
Serial.println("The DS1307 is stopped. Please run the SetTime");
Serial.println("example to initialize the time and begin running.");
Serial.println();
} else {
Serial.println("DS1307 read error! Please check the circuitry.");
Serial.println();
}
delay(9000);
}
delay(1000);
///////////////////////////////////////////////////////////////////////////
int heure = RTC.get(DS1307RTC,true); // ESSAI1 Erreur sur HEURE !!!
int heure = (tm.hour); // ESSAI2 Erreur sur
// si je sais récupérer, j'irai ensuite comparer mais ça ne fonctionne pas
// un peu l'impression que les lib RTC sont nombreuses
Serial.print(heure); // Affichage de l'heure récupérée avant de tester si elle est = à 8:00
//
}
// si le chiffre est < 2 digits, on affiche un zéro avant !
void print2digits(int number) {
if (number >= 0 && number < 10) {
Serial.write('0');
}
Serial.print(number);
}
void ComparerHeure() {
// int heure = (tm.hour);
// Serial.print(heure);
}