#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27,20,4);
int Timbre = 2;
int H = 0;
int Tipo = 0;
int Valor= 0;
String Horario ="";
char daysOfTheWeek[7][12] = {"Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Savado"};
const String Hora [11] [4] {
/* 0 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:21:0" },
/* 1 */ {"8:0:0" , "8:0:0" , "8:0:0" , "21:22:0" },
/* 2 */ {"8:50:0" , "8:40:0" , "8:30:0" , "21:23:0" },
/* 3 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:24:0" },
/* 4 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:25:0" },
/* 5 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:26:0" },
/* 6 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:27:0" },
/* 7 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:28:0" },
/* 8 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:29:0" },
/* 9 */ {"7:50:0" , "7:50:0" , "7:50:0" , "21:30:0" },
/* 10*/ {"7:50:0" , "7:50:0" , "7:50:0" , "21:31:0" }
};
void setup () {
lcd.init();
Serial.begin(115200);
pinMode(Timbre, OUTPUT);
if (! rtc.begin()) {
Serial.println("RTC no identificada");
Serial.flush();
abort();
}
lcd.clear();
//lcd.setCursor(0,0);
//lcd.println(" IPJDG");
}
void loop () {
DateTime now = rtc.now();
String Reloj = (now.hour() + String(':') + now.minute()+(':')+now.second());
Valor = analogRead(A0);
Tipo = map(Valor,0,1023,0,4);
if (Tipo == 3) { Horario = "Horario de Prueba";}
if (Tipo == 0) { Horario = "Horario 8:00 a 4:00";}
if (Tipo == 1) { Horario = "Horario 8:00 a 3:10";}
if (Tipo == 2) { Horario = "Horario 8:00 a 12:00";}
if (Tipo == 4) { Horario = " Horario Manual";}
//String Hora = ("18:6:0");
lcd.setCursor(0,0);
lcd.println(" IPJDG");
lcd.setCursor(0,1);
lcd.println(String(daysOfTheWeek[now.dayOfTheWeek()])+(" ")+now.day()+('/')+now.month()+('/')+now.year());
lcd.setCursor(0,2);
// lcd.println(now.hour()+String (':')+now.minute()+(':')+now.second()+(" ")+("1ra Hora"));
//
lcd.println(Reloj);
lcd.setCursor(10,2);
lcd.println(Hora [0] [3]);
lcd.setCursor(0,3);
lcd.println(Horario);
delay(1000);
if (Reloj == Hora[H][Tipo] ){
digitalWrite(Timbre, HIGH);
delay(3000);
digitalWrite(Timbre, LOW);
H=H+1;
}
//else{digitalWrite(Timbre, LOW);}
Serial.println(String ("F ")+ H + " C " +Tipo);
}
1
2
3
4