Ds1307 e strano problema con librerie che non settano i secondi

Salve ragazzi per diversi miei progetti ho utilizzato il ds1307 il real time clock. Dunque ho provato diverse librerie e funzionano tutte ma con nessuna riesco ad impostare l'ora dandogli i secondi diersida Zero.

Cioè in pratica utilizzo la stessa stringa che uso per settare l'ora i minuti il giorno ma se imposto con lo stesso modo i secondi questi sempre a zero riaetono. Qualcuno sà il perchè ??

Ad esempio se uso questa

setTime(hr,min,sec,day,month,yr);

Comunque siamo messi insecondi all'avvio ripartono da zero

Grazie mille
Daniele

Magari è un problema di logica del tuo sketch.

In che senso ??
Dopo dal pc posterò il codice però facendo

setTime(21,13,50,5,11,12);

setTime(hr,min,sec,day,month,yr);

L'ora deve essere 21:13 e 50 secondi del 5 novembre 2012

Invece viene tutto così eccetto che i secondi sono a 0

Oltre al codice, metti anche un link alla libreria che stai usando.

Ho usato sia la DS1307 che la RTClib stessa cosa

Ho usato sia la DS1307 che la RTClib stessa cosa

prego i LINK da dove hai scaricato le librerie. Se noi cerchiamo le librerie non é detto che troviamo le stesse.
Ciao Uwe

È la libreria, l'ho usata alche io e l autore non l ha finita. La gestioneb secondi nonè implementata.
Posta il link per una verifica

Grazie ragazzi dopo appena avrò un attimo la posterò. Qui dall'ufficio è sempre un casotto.

D.

ragazzi posto la libreria

spero di risolvere !

grazie mille per l'aiuto

Daniele

DS1307.zip (2.7 KB)

E' una libreria molto vecchia, e non dovrebbe girare sull'IDE 1.0.x.
Ma tu compili con l'IDE 002x?

Inoltre non vedo il metodo setTime che dici di usare te, ma solo un generico set() che accetta solo 2 parametri.

Ti consiglio di cercare su internet con la chiave "arduino ds1307 library" un'altra liberia.

Leo grazie per la risposta

come detto ho provato due librerie diverse ( e la RTClib setta i secondi mentre questa no )

il comando usato per settare ora e data su questa libreria è

RTC.stop();
    RTC.set(DS1307_DATE,giorno);       //set the date
    RTC.set(DS1307_MTH,mese);        //set the month   
    RTC.set(DS1307_YR,anno);         //set the year
    RTC.set(DS1307_HR,pra);         //set the hours
    RTC.set(DS1307_MIN,minuti);        //set the minutes       
    RTC.set(DS1307_SEC,secondi);             //set the seconds to ZERO
    RTC.set(DS1307_DOW,giornosettimana);        //set the day of the week  RTC.set(DS1307_DOW,(set_dow + 1));
    RTC.start();

qualunque valore messo a SECONDI il DS riparte da 0

che fare ??

si certo uso la 0023 cerco una nuova libreria DS1307 ma come essere certo che non sia vecchia o difettosa come questa ??

non posso passare alla RTClib perchè ho tanto codice scritto da cambiare e sopratutto perchè il metodo per settare l'ora è completamente diverso

Grazie mille

Daniele

Se è la libreria che si comporta così, o la modifichi aggiungendo tu un setTime che accetti ore, minuti e secondi oppure te la tieni così. Non vedo molte vie d'uscita, se non vuoi cambiarla.

Prova a vedere se questa versione che ti allego qui ti va bene ... credo sia più aggiornata ...

Guglielmo

DS1307new.rar (11.7 KB)

Dunque mi metterò di buona lena e farò la migraione di libreria

ho anche realizzato un programma .exe che gira su pc che via seriale SPARA l'ora aggiornata con il pc all'orologio.

per ovviare a q eusto problema facevo SPARARE l'ora allo scoccare dei minuto.

vabbè migro libreria

unico problema ( per me un pò lo è ) è che questa libreria setta INSIEME i tre valori data ( giorno mese e anno ) e l'orario

ore minuti secondi

il che obbliga ad inviarli ogni volta ma io facevo modificare anche solo uno di questi per l'ora legale solare ( che pare questo gestisca da solo )

infine come si comporta con l'anno ?? quando mi restituisce il valore mi dà YYYY ? io sto lavorando con solo YY e tocca metterci le mani sopra...

Certo modificare ad un orologio finito la libreria DS1307 vuole dire solo di rifare tutto da capo...

Caspiterina!!!

... scusa, hai visto la libreria che ti ho allegato ??? Ti da lo stesso problema ???

Guglielmo

ho visto la tua liobreria mi sembra che abbia dagli esimpi i comandi diversi...

Sbaglio ?

... ah, no, scusa, non avevo fatto il confronto a livello di chiamate ... credevo fosse una nuova versione di quella che hai tu ... ma se mi dici che le funzioni sono diverse ... allora devi per forsa mettere le mani nel codice :frowning:

Guglielmo

si ti ringrazio per l'aiuto.

A dire il vero se proprio ci devo mettere le mani preferisco sostituirla con la RTClib che mi sembra abbia chiamate comprensibili !

Ma nessun saprebbe sistemarla qualla libreria sapendo che quel che non và sono i secondi ??

Daniele

Io, se fossi in te, proverei a guardare cosa manda la RTClib e lo confronterei con cosa manda quella che hai usato, magari scoprirai che è semplicemente una stupidaggine (... un semplice comando mancante) ...

... prova a dare un'occhiata :wink:

Guglielmo