//-----------------Este código lo tomé de la librería RTClib--------------
//-----------------------------LIBRERIAS----------------------------------
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <RTClib.h>
//-----------------------CREACIÓN DE LOS OBJETOS--------------------------
LiquidCrystal_I2C lcd(0x27, 16,2);
RTC_DS1307 rtc;
//--------DEFINICIÓN DEL ARREGLO CON LOS DÍAS DE LA SEMANA---------------
char daysOfTheWeek [7][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
//[7]: cantidad de días que componen la semana
//[4] : cantidad de caracteres que componen cada día, ej. "Sun" tiene tres
//caracteres. Se suele poner uno de más.
//---------------------------SETUP---------------------------------------
void setup() {
//Inicializa el puerto serial
Serial.begin(9600);
//Inicializa el display lcd
lcd.init();
lcd.backlight();
//Si falla la conexión del módulo
if (!rtc.begin()){
Serial.println("Couldn´t find RTC"); //Imprime mensaje de error
Serial.flush();
}
}//Fin SETUP
//-------------------------------LOOP-----------------------------------
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
/*
DateTime now = rtc.now();: Esta línea de código crea una instancia
de la clase DateTimellamada now y la inicializa con la fecha y hora
actual obtenida del reloj en tiempo real (RTC). Esto significa que
now contendrá la fecha y hora actuales después de ejecutar esta línea.
*/
DateTime now = rtc.now();
//Imprime en el monitor serial
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(") ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
delay(1000);
//Imprime en el display lcd
lcd.setCursor(7,0);
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.setCursor(11,1);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
}//Fin LOOP