Go Down

Topic: Real Time Clock, problème (Read 136 times) previous topic - next topic

Yoplait

Bonjour, j'ai commencé à faire un programme pour un horodatage mais il y a un soucis,

Il y à une minute de décalage entre l'heure du programme et l'heure réelle.

Voici le programme :

Code: [Select]
//Mise à l'heure RTC
 
#include <Wire.h>
#include "RTClib.h"
 
RTC_DS1307 RTC;
 
void setup () {
  Serial.begin(57600); //Démarrage de la communication
  Wire.begin(); //Démarrage de la librairie wire.h
  RTC.begin(); //Démarrage de la librairie RTClib.h
 
  //Si RTC ne fonctionne pas
  if (! RTC.isrunning()) {
    Serial.println("RTC ne fonctionne pas !");

    RTC.adjust(DateTime(__DATE__, __TIME__));

    }
  }
 
void loop() {
  //Affichage de l'heure
  DateTime now = RTC.now();
  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(3000);
}


Si moyen de m'aider merci bien

fdufnews

En l'état, le code initialise la RTC, si celle-ci n'est pas déjà initialisée, en lui passant l'heure de la compilation. Et comme il se passe un certain temps entre la compilation et l'exécution du code ce n'est pas très étonnant. Si tu veux programmer précisément l'heure, il faut créer une fonction qui assure cette tâche à partir d'une source externe (saisie au clavier par exemple, ou autre suivant les ressources dont dispose ton montage)

Go Up