Un temporizzatore con il chip RTC DS1307: idea e collegamenti

Ciao di nuovo a tutti, su suggerimento di mio papà, voglio utilizzare Arduino per poter accendere e spegnere una lampada o un qualsiasi utilizzatore a 220 V in determinati orari della settimana.

Quindi ad esempio:
– il lunedì voglio che la mia lampada si accende alle ore 8.15 fino alle 9.40, il pomeriggio invece dalle 17.10 alle 17.45.
– il martedì dalle ore 9.20 alle ore 10.50
– il mercoledì dalle ore 10.00 alle ore 11.00 e nel pomeriggio dalle ore 15.10 alle ore 15.45
e cosi via, fino a domenica

Per fare questo mi sono procurato il chip DS1307: è un RTC (Real-time clock) molto economico che permette di tenere traccia del tempo e della data.
Inoltre è provvisto di una batteria a tampone che garantisce il funzionamento dell’orologio interno anche in assenza di alimentazione esterna.

E’ possibile colloquiare con il chip tramite protocollo I2C, quindi con la libreria Wire.

Il collegamento fra arduino e il chip è molto semplice, come da foto sottostante:

 

Temporizzatore

 

Riepilogando:

 

 

PIN Arduino PIN DS1307
5 V 5 V
GND GND
Pin Analogico 4 SDA
Pin Analogico 5 SCL

 

I collegamenti fra Arduino e il chip variano a seconda del modello di Arduino (uno, leonardo, ecc).
Infatti i PIN SDA (data line) e SCL (clock line) differiscono come da link precedente.

 

Board I2C / TWI pins
Uno, Ethernet A4 (SDA), A5 (SCL)
Mega2560 20 (SDA), 21 (SCL)
Leonardo 2 (SDA), 3 (SCL)
Due 20 (SDA), 21 (SCL), SDA1, SCL1

 

Vedremo nel prossimo post come gestire la date ed ora e come poter utilizzare queste informazioni per poter accendere quando desideriamo un dispositivo.

Alla prossima!!!