IL MODULO RTC
Con Federico De Vincenti
Difficoltà: Facile
ciao ragazzi, oggi vediamo come usare il Modulo RTC con Arduino in modo semplice e veloce.
Come al solito in fondo al post trovi il mio video, così se hai problemi, oltre a risolverli, ti diverti!
A cosa serve il modulo RTC?
Il modulo RTC è un apparecchio elettronico che conta il tempo, quindi in poche parole è un orologio. Può mostrare l’ora, il giorno della settimana, l’anno, il mese ecc… e grazie ad Arduino possiamo decidere noi stessi cosa l’orologio ci deve mostrare.
Cosa ci serve?
Bene, a questo punto dobbiamo collegare il nostro modulo RTC ad Arduino. Niente di più semplice, qui sotto trovi il circuito.
I 5v ed il GND del modulo li colleghiamo ai 5v e al GND di Arduino invece il CLK lo colleghiamo al pin 7, il DAT lo colleghiamo al pin 6 ed infine colleghiamo l’RST al pin digitale 5.
Il circuito è finito, ora tocca al Programma.
Il Programma:
#include <virtuabotixRTC.h>
#define PIN_CLK 7
#define PIN_DAT 6
#define PIN_RST 5
char stringa[20];
virtuabotixRTC mio_rtc(PIN_CLK,PIN_DAT,PIN_RST); // si passano i dati al modulo RTC
void setup()
{
Serial.begin(9600);
mio_rtc.setDS1302Time(0, 0, 18, 5, 4, 5, 2018); // commenta questa riga di codice dopo aver impostato l’ora e aver caricato il programma sul tuo Arduino
}
void loop()
{
mio_rtc.updateTime();
sprintf(stringa,”%02d/%02d/%d %02d:%02d:%02d”,mio_rtc.dayofmonth,mio_rtc.month,mio_rtc.year,mio_rtc.hours,mio_rtc.minutes,mio_rtc.seconds);
Serial.println(stringa);
delay(1000);
}
Questo è il codice, prima di caricare il codice però, dobbiamo impostare la data e l’ora del modulo RTC. Andiamo nella riga di codice dove c’è scritto: mio_rtc.setDS1302Time… dove c’è la parentesi con tutti quei numeri, dobbiamo scrivere:
al posto del primo numero (0) i secondi
2° posto (0) vanno messi i minuti
3° posto (18) va messa l’ora
4° posto (5) va messo il giorno della settimana, (lunedì = 1, martedì = 2 ecc…)
5° posto (4) va messo il mese
6° posto (5) va il giorno della settimana
7° posto (2018) va messo l’anno
Bene, una volta impostata l’ora ed il giorno, carichiamo il codice sull’Arduino. Una volta fatto ciò, commentiamo (aggiungendo 2 slash) la riga di codice che abbiamo modificato prima scrivendo quindi: // mio_rtc.setDS1302….
e ricarichiamo il programma. Così l’Arduino una volta collegato alla corrente non ripartirà a contare “da zero” ma bensì essendo che il modulo RTC ha una batteria propia, anche se Arduino non è collegato ad un’alimentazione, il modulo riuscirà a contare il tempo senza ricominciare da capo.
Ora se apriamo il modulo seriale nell’Ide di Arduino, possiamo vedere la data e l’ora che vengono scritti ogni secondo.
Se hai dubbi ti lascio qui sotto il mio video che spiega come fare tutto correttamente.
Per altri progetti con Arduino visita il mio canale Youtube: Federico De Vincenti oppure vai alla sezione Arduino