[Risolto] RTC shield - Arduino UNO

Ho seguito passo-passo lo schema per la realizzazione del modulo RTC con l' integrato DS1307 presente su questo sito: http://tronixstuff.com/2010/05/28/lets-make-an-arduino-real-time-clock-shield/ Ora pero non so che codice caricare su arduino affinché sul serial monitor possa leggere la data (gg/mm/aaaa) e l' ora (hh/mm/ss). Qualcuno potrebbe postarmi un codice di esempio? Grazie in anticipo per le risposte.

Forse non hai letto con attenzione tutto l'articolo ... ... circa a metà trovi "... You can use the following sketch to test the circuit is working." e, se fai click sulle parole "following sketch" ti scarica il codice d'esempio. ]:D

Guglielmo

Si, scusa, non ci avevo fatto caso. :grin: Ma adesso sorge un' altro problema: caricato lo scketch appena scaricato dal sito sul serial monitor mi stampa come data e come orario 165/165/165 165:165 Devo settare qualcosa oltre la data e l' ora di partenza o sbaglio proprio in questo?

Mmm ... il programma, nella setup(), effettua già l'inizializzazione della data/ora (31.03.12 00:47:00) ...

second = 0;
minute = 47;
hour = 0;
dayOfWeek = 3;
dayOfMonth = 31;
month = 3;
year = 12;
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);

... e poi nel loop() la rilegge ...

 getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

Direi che, dato che considero funzionante l'esempio ... il problema è quasi sicuramente nei collegamenti hardware. Ricontrolla attentamente tutto lo schema e ripassati tutte le connessioni verificando che siano fatte come descritto nell'articolo ...

Guglielmo

Ho ricontrollato tutto il cablaggio sulla millefori ed è ok. La batteria è carica. I pin li collego in questo modo:

SCL --------> pin analogico 5; SDA --------> pin analogico 4;

che credo sia giusto. Possibile che si sia rotto il quarzo?

SDA è il pin A4 SCL è il pin A5

Li hai invertiti

No, scusa, ho sbagliato a scrivere: SDA sul 4; SCL sul 5;

gnd connesso anche lui??

Certo che è connesso sia al GND di Arduino che a quello della batteria a tampone.

e allora lascio la parola ai più esperti :) l'unica cosa che posso ancora suggerirti e di verificare se l'indirizzo di quell'integrato li è sempre 0x68 (come mi sembra sia nell'esempio che ho visto prima) oppure se può essere un altro magari dipende dalle versioni o che ne so... anche se ricevi una risposta dall'integrato mi pare di capire, quindi dovrebbe essere giusto..

Riguardando per l' ennesima volta il circuito, e controllandolo anche col tester in modalità continuità ho visto che nel circuito c' è un filo che fa falso contatto: tra il pin 8 del DS1407 e VCC 5v possibile sia quello?

Prova a ripararlo e lo vedi subito :) Tanto va fatto!!

Sistema quel contatto, se il problema si ripresenta usa fili più corti possibili per collegare le linee sda e scl all'arduino. Se hai seguito lo schema del link sostituisci le resistenze di pullup da 10k con due da 4.7k; se non le hai vanno bene ugualmente valori minori ma rimani sopra a 2.2k

Adesso funziona, o meglio in parte cioè l' orario appena apro il serial monitor risulta quello impostato, ma se chiudo e riapro il SM l' orario non riparte dall ultimo valore stampato bensì dal valore preimpostato nello scketch. Questo non penso proprio sia un problema di hardware... dove sbaglio?

Ogni volta che apri il serial monitor o resetti manualmente arduino vai a riprogrammare l'rtc. Commenta il codice nel setup che si occupa di impostare l'orario e fai nuovamente l'upload.

Finalmente tutto funziona!! XD Grazie a tutti per l' aiuto!