rtc ds1307

salve a tutti, ho comprato questo modulo rtc

sto provando a farlo funzionare con questo codice e la libreria di adafruit

[/#include <Wire.h>
#include "RTClib.h"
 
RTC_DS1307 RTC;
 
void setup () {
    Serial.begin(57600);
    Wire.begin();
    RTC.begin();
 
  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__));
  }
}
 
void loop () {
    DateTime now = RTC.now();
     
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
     
    Serial.print(" since midnight 1/1/1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");
     
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);
     
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();
     
    Serial.println();
    delay(3000);
}

code][code]

non riesco ad aggiornare l'ora attuale.. ho controllato tensione di batteria e collegamenti sembra tutto ok ma non c'e verso di farlo funzionare..

qualcuno puo aiutarmi?

grazie mille in anticipo[/code]

Ciao Mattia,

hai seguito la procedura descritta da AdaFruit in questa pagina

AdaFruit ds1307-real-time-clock

e cioe' di togliere il commento dalla seguente linea, ricompilare e ricaricare il firmware?

RTC.adjust(DateTime(DATE, TIME));

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

Ti prende l' ora e data del PC nel momento della compilazione dello Sketch.
Devi fare l' upload e poi subito caricare un altro sketch. va bene anche il blink.
Ciao Uwe

Ciao ragazzi grazie per il supporto, si quello l'ho fatto ma mi aggiorna una data al 2013! E vedo che anche i secondi non incrementano.. , se scollego fisicamente il ds1307 fa la medesima cosa , per cui suppongo che non dialoghi nemmeno con arduino :frowning: e se aggiungo le linee di commento ritorna una data del 2014..

UweFederer:

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

Ti prende l' ora e data del PC nel momento della compilazione dello Sketch.
Devi fare l' upload e poi subito caricare un altro sketch. va bene anche il blink.
Ciao Uwe

Uwe scusami non ho capito... :confused: ma perché devo caricargli un altro sketch ? Poi come fa a funzionare?

Ho misurato la tensione di alimentazione dell rtc e sono 4,7 v può dare problemi?

Ho anche collegato un led all'uscita sq e il led rimane fisso... Giuro non so più dove sbattere la testa :frowning:
Grazie ancora in anticipo per il supporto ..

  1. togli il commento a quella riga e programmi Arduino
  2. rimetti il commento a quella riga e riprogrammi Arduino

Brunello:

  1. togli il commento a quella riga e programmi Arduino
  2. rimetti il commento a quella riga e riprogrammi Arduino

Ciao brunello, l'ho fatto ... Ma non va ..

Togli la batteria, puliscila e rimontala ( a meno che non sia scarica )

Stasera appena arrivo a casa provo a prendere l'altro dei due rtc che mi sono arrivati e provo con quello... Mi sembra strano che non vada dovrebbe essere molto semplice , ha 4 fili e è la sua libreria già fatta :confused: ho un arduino nano che son sicuro che va..

Ragazzi ... Con l'altro rtc Ha funzionato alla prima ... Risolto tutto
Grazie mille

Quanto tribulare per niente :slight_smile:

Sí, spesso si cercano i problemi nel sketch o nello schema senza dando per certo che le schede funzionano al 100%.
Non sempre é cosí.
Ciao Uwe