Visualizzare la data e l’orario.

Share

Ecco un esempio di codice Arduino per utilizzare un modulo RTC (Real-Time Clock) DS3231 con un display I2C per visualizzare la data e l’orario. Assicurati di avere collegato correttamente il modulo RTC DS3231 e il display I2C al tuo Arduino prima di caricare il codice.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <RTClib.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET    -1 // Reset pin # (or -1 if sharing Arduino reset pin)

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

RTC_DS3231 rtc;

void setup() {
  // Inizializza il display OLED
  if(!display.begin(SSD1306_I2C_ADDRESS, OLED_RESET)) {
    Serial.println(F("Errore nell'inizializzazione del display OLED"));
    while(true);
  }
  display.display();

  // Inizializza il modulo RTC
  if(!rtc.begin()) {
    Serial.println(F("Errore nell'inizializzazione del modulo RTC"));
    while(true);
  }
  
  // Imposta la data e l'orario del modulo RTC se necessario
  // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}

void loop() {
  DateTime now = rtc.now();

  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);

  // Mostra la data e l'orario sul display
  display.setCursor(0, 0);
  display.print("Data: ");
  display.println(now.toString("yyyy-MM-dd"));
  
  display.setCursor(0, 16);
  display.print("Orario: ");
  display.println(now.toString("HH:mm:ss"));
  
  display.display();

  delay(1000); // Aggiorna ogni secondo
}

Assicurati di aver installato le librerie Adafruit_GFX, Adafruit_SSD1306 e RTClib tramite il “Gestore librerie” di Arduino IDE prima di caricare questo codice sul tuo Arduino.

Questo codice utilizza il modulo RTC DS3231 per ottenere la data e l’orario attuali e le visualizza su un display OLED tramite la libreria Adafruit_SSD1306. Puoi personalizzare il formato della data e dell’orario modificando le stringhe di formato nell’istruzione ‘now.toString()‘.