#include <time.h>
#include <TimeLib.h> //https://github.com/PaulStoffregen/Time/blob/master/TimeLib.h
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
char* diaSemana[] = { "Domingo" ,"Lunes", "Martes", "Mi\351rcoles",
"Jueves", "Viernes", "S\341bado" };
char* mes[] = { "ENE" ,"FEB", "MAR", "ABR", "MAY",
"JUN", "JUL", "AGO", "SEP", "OCT", "NOV", "DIC" };
void setup() {
Serial.begin(38400);
// establecer fecha y hora
setTime(14, 31, 2, 27, 4, 2024);
lcd.init();
lcd.backlight();
}
void loop() {
// imprimir la hora
Serial.print("Hora: ");
Serial.print(hour());
Serial.print(":");
Serial.print(minute());
Serial.print(":");
Serial.print(second());
Serial.print(" ");
Serial.print(diaSemana[weekday()-1]);
Serial.print(" ");
Serial.print(day());
Serial.print("/");
Serial.print(month());
Serial.print("/");
Serial.println(year());
lcd.setCursor(0,0);
if(hourFormat12()<10) lcd.print(0);
lcd.print(hourFormat12());
lcd.print(":");
if(minute()<10) lcd.print(0);
lcd.print(minute());
lcd.setCursor(6,0);
if( hour()==0 ) lcd.print("Medianoche");
if( hour()>=1 && hour() < 6 ) lcd.print("Madrugada");
if( hour()>=6 && hour() < 12 ) lcd.print("Ma\361ana");
if( hour()==12 ) lcd.print("Mediod\355a");
if( hour()>=13 && hour() < 21 ) lcd.print("Tarde");
if( hour()>=21 && hour() ) lcd.print("Noche");
lcd.setCursor(0,1);
lcd.print(diaSemana[weekday()-1]);
lcd.print(", ");
lcd.print(day());
lcd.print(" ");
lcd.print(mes[month()-1]);
delay(1000);
}