sto utilizzando una rtc shield (tiny rtc) Real Time Clock Module (I2C) | 10100004 | Others by www.smart-prototyping.com in poche parole, ho caricato lo sketch per impostare l'ora (quello della libreria RTClib) e fin qui tutto ok, ma se tolgo l'alimentazione ad arduino e poi ricollego, da seriale quando vado a leggere ora e minuti, mi parte dall'ora in cui e stato programmato, quindi se lo programmo alle 5 lo scollego e alle 6 lo ricollego, mi stampa le 5.... può essere la batteria tampone già andata anche se dovrebbe essere nuova, visto che ho appena comperato l RTC?
la batteria fa 3.20 per quello.... @Guglielmo, era la prima cosa che ho provato a fare, ossia programmare la prima volta così:
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
void setup () {
Serial.begin(57600);
#ifdef AVR
Wire.begin();
#else
Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due
#endif
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(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
}
per poi togliere la riga di adjust
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
void setup () {
Serial.begin(57600);
#ifdef AVR
Wire.begin();
#else
Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due
#endif
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(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
}
ma così facendo mi sputa fuori un' ora e una data a caso ossia 6:28, e data 2106/06/12.....
no no niente messsaggio! ora non posso controllare quando torno a casa vedo subito Guglielmo, per curiosità, la carcassa del quarzo è bene saldarla con la "piazzola" sottostante piuttosto che ci sia solo a contatto? o si rischia solo di surriscaldare il quarzo?
ora sembrerebbe che il problema non si presenti più, solo che ora l'ora e indietro di 15 min, come se l'IDE quando va a caricare il programma fosse sballato!
La schermatura certo male non fa, ma il surriscaldamento del quarzo sì: occhio al tempo di saldatura!
Comunque, i 15 minuti in meno che rilevi non dipendono da questo: prova ad inserire un orario, spegnere tutto (lasciando ovviamente la pila sull'RTC) e rilevare esattamente 24 ore dopo.
Fai la stessa misurazione dopo 48 ore: se rilevi il doppio del ritardo, allora vuol dire che il quarzo non oscilla alla frequenza giusta (quarzo difettoso).