Ciao, chiedo aiuto per risolvere il seguente problema . ho collegato ad arduino un rtc e caricato il seguente sketch
accade una cosa strana sino a quando arduino si trova collegato al pc l'orario è sincronizzato al time del pc, se però scolleggo arduino dal pc x 5 minuti quando ricollego arduino al pc i due orari non sono + sincronizzati ma c'è una differenza di 5 minuti.
nb il modulo ds 1307 ha inserita la batteria al litio.
un idea?
grazie ù
#include <Wire.h> #include "RTClib.h"
RTC_Millis RTC;
void setup () {
Serial.begin(57600);
// following line sets the RTC to the date & time this sketch was compiled
RTC.begin(DateTime(DATE, TIME));
}
void setup () {
Serial.begin(57600);
// following line sets the RTC to the date & time this sketch was compiled
RTC.begin(DateTime(__DATE__, __TIME__));
}
Il commento dice:
"la linea seguente imposta l'RTC alla data ed ora a cui lo sketch è stato compilato.
Quindi in pratica ti "riporta indietro" l'orologio.
Serve solo la prima volta per allineare l'RTC.
Dovresti:
compilare lo sketch con quella riga
flashare l'Arduino con quello sketch, in modo che lo sketch regoli l'RTC
ricompilare lo sketch SENZA quella riga
riflashare l'Arduino con il nuovo sketch
Ora puoi fare tutti gli stacchi che vuoi e l'RTC andrà per conto suo correttamente.
ciao,
grazie x il suggerimento.
ho fatto come da voi suggerito purtroppo il risultato non è quello atteso:
eseguendo l'upload con la riga non commentata e aprendo serial monitor vedo l'orario e la data corretta
2011/11/4 20:42:54
se commento la riga e rieseguo l'upload apro s.monitor ottengo
2106/2/6 6:32:10
grazie
slowa:
ciao,
grazie x il suggerimento.
ho fatto come da voi suggerito purtroppo il risultato non è quello atteso:
eseguendo l'upload con la riga non commentata e aprendo serial monitor vedo l'orario e la data corretta
2011/11/4 20:42:54
se commento la riga e rieseguo l'upload apro s.monitor ottengo
2106/2/6 6:32:10
grazie
Non é che hai inventato una macchina del tempo che ti ha portato nel 2106??
Ciao Uwe
fede come va a precisione ? io mi ritrovo sui 5 secondi al giorno di sballo
perche' non modifichi i files eagle in modo da seguire il tuo articolo ? quindi togliere la resistenza dell'out onda quadra, ed aggiungendoci il condensatore (io lo toglierei mettendone uno da 100nF per eventuali oscillazioni, mentre il compito di stabilizzare la tensione di alimentazione lo fai fare ad arduino stesso)
UhM mi prendi un attimo alla sprovvista, quel circuito l'ho disegnato qualche tempo fa e l'articolo l'ho scritto in seguito... E' sbagliato? A me funziona, ne ho un paio...
Ti diro' che onestamente non ho un test alla mano sulla precisione, ne uso uno in macchina e ha sempre l'ora corretta relativamente al mio cellulare e l'altro lo sto utilizzando in un progetto "nixie clock" che pero' continuo a ricompilare e spesso devo resettare anche l' RTC perche' faccio casini. Pero' posso verificare...
@slowa:
Bisogna capire se l'RTC perde l'alimentazione o cosa.
Che RTC usi? Un chip su una breadboard? Una scheda in kit assemblata da te? Una scheda commerciale?
Hai uno schema del circuito?
no, non perde l'alimentazione, perche' il 1307 si resetterebbe a 00.00.00 e li' rimarrebbe.
Di certo la gestione del setup deve essere fatta bene, quindi stare attenti al discorso di decommentare e ricaricare lo sketch, si deve capire come sia andato all'anno 2100
p.s. il tuo clock e' tamarrissimo (nel senso sia negativo che positivo del termine
bella l'idea dei secondi in binario.
Il mio e' orologio-datario-termometro, sto' aspettando un rtc piu' preciso perche' il 1307 perde troppi secondi, e ci devo aggiungere un tasto di selezione e l'antiavvelenamento
Testato:
no, non perde l'alimentazione, perche' il 1307 si resetterebbe a 00.00.00 e li' rimarrebbe.
Di certo la gestione del setup deve essere fatta bene, quindi stare attenti al discorso di decommentare e ricaricare lo sketch, si deve capire come sia andato all'anno 2100
Ci vuole intanto il circuito, perché se subisce sbalzi di tensione l'orario viene corrotto. Il DS1307 è un micro che aggiorna dei registri interni: se la tensione scende sotto ad una data soglia, viene compromessa l'affidabilità dell'orologio.
Inoltro non è chiaro se l'orologio riparte SEMPRE dal 2106 oppure quella è una data a caso.
ci devo aggiungere un tasto di selezione e l'antiavvelenamento
in una nixie i numeri sono i catodi, c'e' un fenomeno che si chiama avvelenamento del catodo paragonabile al discorso dello "stampo" dei monitor quando c'e' fissa sempre la stessa finestra.
quindi se pensi ad esempio alla prima cifra che usa solo 3 numeri (0,1,2)
lo 0 resta fisso per 10 0re
l' 1 per 10 ore
il 2 per 4 ore
tutti gli altri catodi non vengono mai usati
Ah,OK. E' come nei primi monitor a fosfori, dove lo screensaver aveva proprio la funzone di "salva"schermo, ossia di spengere del tutto il display o, comunque, di variare l'immagine per evitare che tenendo accesi sempre gli stessi pixel questi si "stampassero" appunto sul monitor.
leo72:
Ci vuole intanto il circuito, perché se subisce sbalzi di tensione l'orario viene corrotto. Il DS1307 è un micro che aggiorna dei registri interni: se la tensione scende sotto ad una data soglia, viene compromessa l'affidabilità dell'orologio.
Daccordissimo sullo sbalzo, mie prove empiriche lo confermano, mentre il calo di tensione se ricordo bene da datasheet dovrebbe essere ok fino ai 2v, no?
Testato:
in una nixie i numeri sono i catodi, c'e' un fenomeno che si chiama avvelenamento del catodo paragonabile al discorso dello "stampo" dei monitor quando c'e' fissa sempre la stessa finestra.
quindi se pensi ad esempio alla prima cifra che usa solo 3 numeri (0,1,2)
lo 0 resta fisso per 10 0re
l' 1 per 10 ore
il 2 per 4 ore
tutti gli altri catodi non vengono mai usati
NOVELLINO ]
Il mio orologio funziona in POV
ps: il tamarro lo prendo come un complimento, perche' era uno degli obbiettivi del lavoro Chiaramente il lampeggio degli rgb e' solo per il video, perche' poi cambia ogni ora e basta. Inoltre... quando ci rimetterò mano ho una lista di effetti RETRO' che vorrei programmare per dare alle valvoline un po' di vita...
novellino tu, e' normale che funziona in POV, come altro vorresti pilotarlo visti i pin dell'atmega ?
doppio novellino sul fatto che credi che il multiplex ti tolga il problema dell'avvelenamento, a limite lo riduce, ma sempre il concetto resta lo stesso.
come disse una volta Astro, "non fare a gara con me, non ti conviene"