Problème: Arduino et RTC

Portrait de JICEHEL

Bonjour à toutes, bonjour à tous,

Je commence à me familiariser avec Arduino (les vidéos d’Alex me sont bien utiles) ! Allumage/extinction de LED, Moteurs pas à pas, moteurs DC, potentiomètres, etc… Et maintenant, c’est l’horloge Tiny RTC. Les bibliothèques sont bien chargées, le code est identique à ceux proposés sur le Net. Et ça ne fonctionne pas ! Le premier PRINTLN est exécuté  et c’est tout. Ô galère ! Mais où est donc la faille ? Une aide serait la bienvenue. Voici le début du code :

#include <Wire.h>

#include "RTClib.h"

RTC_DS1307 RTC;

void setup ()

{

  Serial.begin(9600); //Démarrage de la communication

  Wire.begin(); //Démarrage de la librairie wire.h

  RTC.begin(); //Démarrage de la librairie RTClib.h

  Serial.println("Setup RTC en cours");

  //Si RTC ne fonctionne pas

  if (! RTC.isrunning())

    {

      Serial.println("RTC ne fonctionne pas !");

      //Met à l'heure à date à laquelle le sketch est compilé

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

      // RTC.adjust(DateTime("Dec  5 2012","12:00:00"));

      // RTC.adjust(DateTime(2014, 1, 21, 3, 0, 0));

    }

    else

    {

      Serial.println("RTC en fonction");

    }

}

Portrait de Alex

Bonjour,

Je ne vois de pas de void loop() {} dans ton code.

Je te recommande de passer sur la version 1.0.6 d'Arduino également.

La librairie n'est pas compatible avec les nouvelles versions.

#include <Wire.h>

#include "RTClib.h"

RTC_DS1307 RTC;

void setup ()
{

  Serial.begin(9600); //Démarrage de la communication

  Wire.begin(); //Démarrage de la librairie wire.h

  RTC.begin(); //Démarrage de la librairie RTClib.h

  Serial.println("Setup RTC en cours");

  //Si RTC ne fonctionne pas

  if (! RTC.isrunning())
  {

      Serial.println("RTC ne fonctionne pas !");

      //Met à l'heure à date à laquelle le sketch est compilé

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

      // RTC.adjust(DateTime("Dec  5 2012","12:00:00"));

      // RTC.adjust(DateTime(2014, 1, 21, 3, 0, 0));
    }
    else
    {
    Serial.println("RTC en fonction");
  }
}
void loop ()
{
}

Portrait de JICEHEL

Merci Alex,

Effectivement le fonctionnement est beaucoup plus efficace avec la version antérieure !

Bon, l'horloge fonctionne, les  moteurs fonctionnent, les diodes s'allument, etc. Je vais continuer mon petit bout de cheminavec les afficheurs. ll va me manquer probablement des entrées-sorties.

A la prochaine.

PS j'ai bien reçu le kit !