#include <Wire.h> // usando a biblioteca Wire
#include <LiquidCrystal_I2C.h> // usando a biblioteca LiquidCrystal I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); // Configura endereço I2C e display com 16 caracteres e 2 linhas
int thisChar = 0 ;
#include "RTClib.h"
RTC_DS1307 rtc;
char daysOfTheWeek[7][5] = {"Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom"};
void setup()
{
lcd.init(); // inicializa LCD
lcd.backlight(); // ativa led de backlight
Serial.begin(115200);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
}
void loop ()
{
DateTime now = rtc.now();
Serial.print("Current time: ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
lcd.setCursor(0, 0); // selecionando coluna 0 e linha 0
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.print(" ");
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.setCursor(2, 1); // selecionando coluna 2 e linha 1
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
//lcd.print("Guia do LCD"); // Print da mensagem
delay(1000); // atraso de 1 segundo
}