#include <Wire.h>
#include <RTClib.h>
// Instância do RTC
RTC_DS3231 rtc;
void setup() {
Serial.begin(9600);
// Inicializa o RTC
if (!rtc.begin()) {
Serial.println("Não foi possível inicializar o RTC!");
while (1);
}
// Verifica se o RTC perdeu a configuração
if (rtc.lostPower()) {
Serial.println("O RTC perdeu a configuração! Ajustando data e hora");
// Configura data e hora para o momento da compilação
rtc.adjust(DateTime(F(_DATE), F(TIME_)));
}
}
void loop() {
DateTime now = rtc.now();
// Imprime a data e hora
Serial.print("Data: ");
Serial.print(now.day(), DEC);
Serial.print("/");
Serial.print(now.month(), DEC);
Serial.print("/");
Serial.print(now.year(), DEC);
Serial.print(" Hora: ");
Serial.print(now.hour(), DEC);
Serial.print(":");
Serial.print(now.minute(), DEC);
Serial.print(":");
Serial.println(now.second(), DEC);
float temp = rtc.getTemperature();
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.println(" °C");
// Aguarda 1 segundo
delay(1000);
}