initialiser RTC

Bonjour, j'ai un projet qui nécessite l'utilisation d'une horloge temps réel (RTC). (C'est mon premier projet/expérience de programmation.) :confused:

Je ne parviens pas à rentrer l'heure dans ma RTC. J'utilise une carte arduino UNO, ainsi qu'un mikro BUS I2C et un RTC DS1307.

N'ayant pas d’expérience en programmation, je suis allé sur internet et j'ai essayé des programmes écris par d'autres, mais jusqu'ici aucun n'a marché... :frowning:

Pouvez-vous me venir en aide?
Cordialement.

Bien le bonjours, je pense qu'on est dans la même situation!

Moi aussi je suis sur un projet, et dans mon programe je ne parvien pas a initilaliser l'heure :s actuellement le programme que j'ai fonctionne mais utilise l'heure du pc et ne peut pas changer :s voici le programe

#include <Wire.h>                                     //La librairie Wire va être utilisé
#include "RTClib.h"                                   //La librairie RTClib va être utilisé

RTC_DS1307 RTC;




void setup ()
{
  Serial.begin(9600);                                 //Demarre le serial et met le débit de communication a 9600
  Wire.begin();                                       //La librairie Wire commence
  RTC.begin();                                        //La librairie RTC commence

 if (!RTC.isrunning())                                // Si la RTC ne marche pas
 {
   Serial.println("La RTC ne marche pas");            //Ecrire "La RTC ne marche pas"
   RTC.adjust(DateTime(__DATE__, __TIME__));
  }
}

void loop () {
DateTime now = RTC.now();                           

if (now.day() <10)                                  // Si le chiffre des jours est inférieur a 10
{
  Serial.print ("0");                                //Afficher un 0 (de façon a éviter les 3/XX/XXXX   et mettre a la place 03/XX/XXXX
}

Serial.print(now.day(), DEC);                        //Afficher le jour actuel
Serial.print("/");                                   //Afficher /

if (now.month() <10)                                //Si le chiffre des mois est inférieur a 10
{
  Serial.print ("0");                                // Afficher 0
}
Serial.print(now.month(), DEC);                      //Afficher le mois actuel
Serial.print("/");                                   //Afficher /
Serial.print(now.year(), DEC);                       //Afficher l'année actuel
Serial.print(" ");                                   //Afficher un espace

if (now.hour() <10)                                 //Si le chiffre des heures es inférieur a 10
{
  Serial.print ("0");                                //Alors afficheer un 0
}
Serial.print(now.hour(), DEC);                       //Afficher l'heure actuel
Serial.print(":");                                   //Afficher :

if (now.minute() <10)                               //Si le chiffre des minute est inférieur a 10
{
  Serial.print ("0");                                //Afficher un 0
}

Serial.print(now.minute(), DEC);                     //Addicher les minute actuel
Serial.print(":");                                   //Afficher :

if (now.second() <10)                               //Si le chiffre des seconde est inférieur a 10
{
  Serial.print ("0");                                //Afficher 0
}
Serial.print(now.second(), DEC);                    //Afficher les minute actuel 
Serial.println(" ");                                //Retour a la ligne
delay(1000);                                        // attendre une seconde avant le reprise de la boucle
}

Pour l'utiliser il faut que tu installe la librairie RTC-Master

Si tu as des info sur comment mettre a jour l'heure je t'en remercirai!

Cordialement, MOI :slight_smile:

hello
j'ai ce code dans mes archives
je l'avais sauvegardé et annoté ok

il devait donc être fonctionnel

au début on trouve le pseudo d'un des membres du forum :slight_smile:

RTC_UNO_OK.zip (2.41 KB)