Bonjour Bonsoir à tous,
J'ai récemment commencé à manipuler l'univers d'Arduino dans le cadre de mon projet de bac.
Et je me retrouve en face d'un problème dont je n'arrive pas trouver la solution. Mon problème est le suivant : j'ai une carte Arduino Uno, une Horloge RTC DS1307 et un LCD. Mon objectif est d'afficher la date et l'heure sur mon LCD le problème est que je n'arrive pas à afficher la bonne date et la bonne heure...
Comment je suis supposé faire pour que mon programme m'affiche les bonnes informations ?
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(DATE, TIME));
}
}
Cette instruction met le module DS1307 à l'heure de la compilation, c'est celle de l'ordinateur au moment où il compile le programme, en principe elle est à jour (sinon, faire la synchro de l'horloge du PC avec le web).
Le téléversement dans l'Arduino est consécutif à la compilation, donc avec un certain décalage temporel.
S'il y a besoin d'un truc super précis, rajouter par exemple un simple bouton et un peu de code pour disposer d'un reset manuel des secondes.
Beaucoup plus "user friendly", permet de regler a la seconde ainsi que le jour de la semaine.
J'ai 3 horloges qui tournent devant moi depuis une semaine pour faire une mesure de la precision.
La reference : heure Internet sur serveur NTP
DS3231 : affiche la meme seconde que la reference (apres une semaine)
DS1307 : 5 secondes d'avance (toujours sur semaine).
Attention : aucune valeur statistique, juste 2 modules pris au hasard dans mon petit stock.
Je peux mtn mettre l'heure que je veux mais je ne comprends pas ce que tu veux dire par "commente la ligne" pour qu'à chaque boot j'ai la bonne heure (infobarquee)
L'horloge de mon pc est bien à l'heure avec la bonne date et après modification du programme j'ai la bonne heure et la bonne date avec comme tu me l'a dit quelques secondes de décalage. (Christian_R)