PROGETTI ARDUINO

  • HOME
  • 200 Progetti
  • Progetti e Tutorial
  • Reti
    • Impara le reti
    • internet fibra
    • wifi mesh
    • modem router
    • diagnostica reti
    • ethernet lan
    • sicurezza configurazione
  • Elettronica
  • Recensioni
  • Manuale
  • Contatti
  • HOME
  • 200 Progetti
  • Progetti e Tutorial
  • Reti
    • Impara le reti
    • internet fibra
    • wifi mesh
    • modem router
    • diagnostica reti
    • ethernet lan
    • sicurezza configurazione
  • Elettronica
  • Recensioni
  • Manuale
  • Contatti

Arduino ora e data con 
rtc ds3231 e display 16x2

Utilizziamo arduino e un modulo rtc ds3231 per visualizzare l'ora e la data
​su un display lcd i2c 16x02

In questo progetto mostreremo un semplice esempio di orologio e calendario utilizzando una scheda Arduino UNO e un modulo RTC DS3231, in cui l'ora e la data sono visualizzati sullo schermo LCD i2C 1602.
​Il bello di questo progetto è che possiamo modificare l'ora e la data agendo direttamente su due pulsanti inseriti su una breadboard.
ds3231 modulo rtc
Il modulo RTC DS3231 rappresentato in figura è dotato di una pila tipo CR2032 da 3V ed è in grado di fornire informazioni su data, ora e temperatura ambientale.
Grazie alla pila di cui è dotato, una volta memorizzata l'ora e la data, continua a segnare il tempo, anche quando non è in uso oppure tolto dal circuito.
Il modulo fornisce le informazioni ad Arduino attraverso il protocollo di comunicazione I2C o bus SDA/SCL.
In Arduino Uno questo protocollo è gestito dalle porte A4 e A5 in Arduino Mega 2560 sulle porte D20 e D21.
​In questo esercizio non ci limiteremo ad utilizzare il solo modulo RTC DS3231, ma utilizzeremo anche un display LCD 16x02 gestito da un driver I2C e quindi avremo contemporaneamente in funzione due componenti che utilizzano il bus SDA/SCL.

COMPONENTI:
  • Arduino Uno
  • RTC DS3231
  • Display LCD 16x02 I2C
  • 2x Pulsanti Microswitch
  • 2x Resistori da 10KOhm
  • Cavetti di Collegamento
  • ​​Breadboard

🧰 Non hai ancora i componenti?
Molti dei progetti presenti su progettiarduino.com utilizzano componenti elettronici di base come LED, resistenze, sensori e breadboard.
Se stai iniziando con Arduino, il modo più semplice è utilizzare un kit completo per principianti, che include quasi tutti i componenti necessari per realizzare molti dei progetti presenti sul sito.

👉 Kit Arduino consigliato:
ℹ️ Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
https://amzn.to/4b3dxjW

📘 Vuoi imparare Arduino passo dopo passo?
Se vuoi approfondire e realizzare progetti più completi, puoi dare un'occhiata anche ai miei libri dedicati ad Arduino.
All'interno troverai spiegazioni semplici, schemi chiari e molti progetti pratici pensati per chi parte da zero.

👉 Scopri i miei libri su Arduino:
ℹ️ Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
https://amzn.to/4rfzjXE

SCHEMA DI COLLEGAMENTO:
arduino ds3231 rtc project
Nel circuito ci sono 2 pulsanti collegati rispettivamente ai pin 8 e 9. I due pulsanti sono utilizzati per impostare i parametri di data e ora (minuti, ore, data, mese e anno). 
Il primo pulsante seleziona il parametro e il secondo incrementa il parametro selezionato.

LIBRERIE:
Per prima cosa dobbiamo installare una libreria sull'Arduino IDE.
Utilizzeremo
 la libreria Newliquidcrystal_1.3.5 per il funzionamento del display LCD I2C. 
​

Per installare le librerie aprire Arduino IDE e cliccare su Sketch > #includi libreria > Aggiungi libreria da file .ZIP.. e scegliere la libreria appena scaricata. 

Il sketch di Arduino segue non utilizza alcuna libreria per il modulo RTC DS3231, la libreria Wire è per la comunicazione tra Arduino e il DS3231 per il protocollo I2C.
newliquidcrystal_1.3.5.zip
File Size: 2457 kb
File Type: zip
Scarica file


SKETCH:

    
arduino_rtc_ds3231___display_i2c.ino
File Size: 6 kb
File Type: ino
Scarica file

Il modulo DS3231 funziona solo con il formato BCD (Binary-coded decimal su wikipedia) e per convertire il BCD in decimale e viceversa ho usato le 2 righe seguenti (esempio per minuto): 
Click here to edit.

    
Click here to edit.

    
Visualizza l'ora e il calendario, prima di visualizzare i dati dell'ora e del calendario vengono convertiti dal formato BCD al formato decimale. 
Click here to edit.

    
​All'interno di questa piccola funzione in basso è inserita la pausa del lampeggiare e viene interrotta dai pulsanti (collegati ai pin 8 e 9) . 

Con questa funzione possiamo vedere il lampeggiare del parametro selezionato con una frequenza di 2Hz. 
Quindi un ritardo di 250 ms arriva dopo la stampa del parametro selezionato e dopo questo delay vengono stampati 2 spazi per far sparire il parametro sul display LCD, successivamente un altro delay di 250 ms arriva dopo la stampa dei 2 spazi. 
Click here to edit.

    

Foto
Foto

© ProgettiArduino.com 2026 - Fancello Salvatore
​ Layout, immagini e testi sono di esclusiva proprietà di www.progettiarduino.com 
Privacy Policy