//Reloj DS1302 visualizado en LCD 16x2 I2C #include #include //Es probable que deba usar una variante de esta libreria //Se suministra el archivo LiquidCrystal_I2CDJB.ZIP //para tal variante- lea como instalar librerias //Crear el objeto lcd dirección 0x27 y 16 columnas x 2 filas LiquidCrystal_I2C lcd(0x27,16,2); // //Es probable que deba cambiar la direccion 0x27 por 0x3F //Dependera de su LCD- Si tiene el PCF8574 o el PCF8574A //--Referido al RELOJ-------- #include // Inicializacion del modulo. DS1302 rtc(2, 3, 5); Time t; void setup() { // Inicializar el LCD lcd.init(); //Encender la luz de fondo. lcd.backlight(); // Escribimos el Mensaje en el LCD. lcd.print("Fecha y Hora"); } void loop() { // Obtencion de datos del RELOJ t = rtc.getTime(); // Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1) lcd.setCursor(0, 1); // Publicar en LCD // Se publicara el dia de la semana // La variable t.dow (dia de la semana) tendra //valor de 1 para dia lunes y 7 para domingo. // if (t.dow == 1) lcd.print("lu"); //Suprimido por falta de espacio en LCD //if (t.dow == 2) lcd.print("ma"); // if (t.dow == 3) lcd.print("mi"); // if (t.dow == 4) lcd.print("ju"); // if (t.dow == 5) lcd.print("vi"); // if (t.dow == 6) lcd.print("sa"); // if (t.dow == 7) lcd.print("do"); //lcd.print(" "); //Separador // Se publicaran datos de fecha, en numeros. lcd.print(t.date, DEC); // Dia del mes lcd.print("/"); //Separador // Se publicara Mes lcd.print(t.mon); lcd.print("/"); //Separador // Se publicara Año lcd.print(t.year, DEC); lcd.print(" "); //Separador // Hora en formato Hora-Minutos-Segundos lcd.print(t.hour, DEC);//Hora lcd.print(":"); //Separador lcd.print(t.min, DEC);// Minutos. //lcd.print(":"); //Separador // lcd.print(t.sec, DEC); //Segundos. No por falta de espacio en LCD //lcd.print(":"); //Separador - No por falta de espacio en LCD delay(1000); }