ARDUINO MH-Real-Time Clock Modules-2 ultimo aggiornamento 2 gennaio 2019 |
|
Il modulo MH-Real-Time Clock Module - 2 si basa sull' integrato DS1302 al cui interno è presente un orologio in tempo reale / calendario e 31 byte di RAM statica.
L'integrato DS1302 è simile al modello DS1307 dal quale si differenzia per alcune particolarità:
Il DS1302 ha un'interfaccia SPI mentre il DS1307 ha un'interfaccia I2C;
Il DS1302 può ricarica la batteria, mentre il DS1307 non lo fà;
Il DS1307 è dotato di un'uscita ad onda quadra programmabile.
DS1302 Trickle-Charge Timekeeping Chip | ||
|
||
Piedinatura | Datasheet | Foto dell'integrato |
DS1307 64 x 8 Serial Real-Time Clock | ||
|
||
Piedinatura | Datasheet | Foto dell'integrato |
Il chip comunica con il microprocessore tramite
un'interfaccia seriale. Il RTC (Real Time Clock) /
calendario fornisce: secondi, minuti, ore, giorno, data, informazioni
Mese, e Anno.
Per l'interfaccia, oltre all'alimentazione, sono necessari solo tre fili
: CE (RST), I/O (linea dati), e SCLK (serial clock).
I dati possono essere trasferiti da e verso l'orologio/RAM 1 byte alla
volta o in un inico invio fino a 31 byte.
Il DS1302 è progettato per funzionare con
una potenza molto bassa e per conservare dati e informazioni di clock
con meno di 1μW.
Il DS1302 ha pin di alimentazione doppi,
una primaria (Pin #1 #4) e un altro per la batteria di backup (Pin #8
#4), corrente 260mAh, batteria non ricaricabili. tempo di conservazione
dei dati teorica è più di 10 anni.
In questa applicazione per esempio l'alimentazione primaria è
fornita da Arduino, e quella secondaria da una batteria CR2032.
Qui potete vedere lo schema elettrico per il DS1302 Real Time
Clock. VCC è impostato per accettare l'alimentazione primaria, questa è
tipicamente 3.3V, ma può utilizzare 5V. Si raccomanda di non applicare più di 7V,
in quanto ciò può danneggiare l'unità. VBAT viene utilizzata per l'alimentazione di backup, fornita dalla batteria 3.3V
tipo CR2032.
Il cristallo di quarzo è posto tra i pin # 2 e # 3, mentre i Pin #
5-6-7 sono utilizzati per la comunicazione dei dati tra il modulo e
il microcontrollore, è inoltre collegato il pin CE indicato come RST.
|
Circuito elettrico e PCB del modulo
Per testare il modulo si utilizzano i seguenti componenti
Arduino UNO | MH-Real-Time Clock Module 2 |
Cavetti per Breadboard di vari colori | Modulo Expander bus I2C per Display LCD |
|
Prima di caricare il programma occorre installare
l'apposita libreria che può essere scaricata dal sito di
Henning Karlsen
al seguente
link DS1302.
Una volta scaricata la libreria dovrà essere aggiunta a quelle esistente, fare
riferimento alle figure sotto riportate.
Il seguente sketch di Arduino verifica il funzionamento del
modulo DS1302, mostrando sul Monitor seriale o su apposito display 16x2
collegato con interfaccia I2C la date e l'ora corrente.
Alla prima esecuzione si dovrà indicare al modulo la data e l'ora corrente,
fatto questo si potranno commentare le linee e rieseguire la compilazione, in
quanto il valore sarà conservato all'interno della memoria del modulo alimentato
dalla batteria di backup.
|
|
Gianluca Tursi (vedere sito www.gianlucatursi.it) utilizzando un modulo simile a quello illustrato in questa pagina, ha notato un problema di funzionamento.
Il modulo mostrava una volta la data e ora corretta e una volta una data e ora errata.
Per risolvere il problema ha inserito una resistenza da 220 ohm sulla linea I/O
in questo modo ha risolto il problema
Realizzazione di un data logger
Vediamo ora la realizzazione di un data logge low cost, per
il monitoraggio ambientale di temperature , con successiva registrazione dei
valori su una SD-Card.
Il cuore del progetto è Arduino, il programma che si scrive su Arduino sarà
naturalmente avviato a loop() finché non si toglie l'alimentazione dal
dispositivo. Quando lo colleghiamo ad una fonte di alimentazione (ad esempio la
USB del PC o anche una comunissima Batteria da 9V) si accende e avvia il
programma caricato dall'IDE a loop infinito. Questo continua fino a quando non
togliamo la batteria o stacchiamo il cavo.
Il programma legge i valori di temperatura e umidità tramite il
sensore DHT11 e salva i valori in contemporanea con i dati di dell'ora e
del giorno forniti da un
modulo con un
DS1302, in cui è effettuata la misura su una memoria SD.
Un
led Bicolore segnala eventuali problemi o l'avvenuta registrazione dei
dati.
Per la descrizione e il programma vedere la pagina al seguente link.
Elenco revisioni | |
02/01/2019 | Inserito riferimento a programma data logger |
29/10/2017 | Inserito modifica proposta da Gianluca Tursi |
12/03/2017 | Aggiornato pagina |
12/02/2017 | Aggiornato pagina |
12/02/2017 | Emissione preliminare |