Cosa devi sapere per usare un real time clock DS1307

Considero molto utile avere un dispositivo che permetta di tenere traccia del tempo e della data, poiché in molti progetti, come quelli della domotica, richiedono un sistema per recuperare queste informazioni. Avere un circuito che mi garantisca, anche in mancanza di alimentazione, un riferimento temporale sicuro è fondamentale.

DS1307 real time clock RTC pin function

Tipicamente, l’integrato che viene utilizzato maggiormente, in campo hobbistico, è il DS1307. Le sue caratteristiche tecniche sono le seguenti

 Caratteristiche  conteggio in secondi, minuti, ore, giorno della settimana, giorno del mese, mese, anno.
 Interfaccia  bus I2C
 RAM  56 byte aggiuntivi di memoria utente
 Altre uscite  Possibilità di generare un onda quadra di 1Hz, 4096KHz, 8192KHz, 32768KHz

ha un costo contenuto, circa 2.5€, è disponibile sia in package  THT(Through-Hole Technology) sia in SMD, in versioni con standard industriali (temperature di esercizio da -40 a +85 °C).

Anche utilizzarlo è risultato semplice, vista la possibilità di colloquiare tramite bus I2C. Una volta realizzato il circuito seguente, scriviamo alcun istruzioni per settare i registri del DS1307 in modo da impostare la data e l’ora.

schema rtc DS1307

La struttura di questi registri è la seguente:

Struttura registri DS 1307

mentre le istruzioni le trovate di seguito

 

Per poter recuperare le informazioni è sufficiente eseguire una lettura in sequenza dei primi 7 byte, partendo dall’indirizzo 0x00

La batteria tampone, tipicamente una CR2032, garantisce un back-up di circa 6 mesi.

Delocalizzare la gestione dell’orario su un chip esterno permette di concentrare le risorse dell’Arduino su altri processi e allo stesso tempo di impiegare in modo veloce e semplice il bus I2C per recuperare le informazioni di tempo e data.

Realizzare automatismi basati sul DS1307 è risultato molto economico e semplice, vi invito quindi ad acquistare direttamente il chip piuttosto che i kit già assemblati che attualmente si aggirano tra gli 8€ e i 15€.