#include "uRTCLib.h"
#include <DHT.h>
#include <Servo.h>
#include <LiquidCrystal_I2C>
#define DHTTYPE DHT22
const int led2=2;
const int led3=4;
const int relay=3;
const int DHTPin =5;
float humedad=0;
float temperatura=0;
char diasem[7][12]={"DOMINGO","LUNES","MARTES","MIERCOLES","JUEVES","VIERNES","SABADO"};
Servo servo1;
DHT dht(DHTPin, DHTTYPE);
uRTCLib rtc(0x68);
void setup() {
servo1.attach(9, 500, 1400);
pinMode(relay, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
Serial.begin(9600);
dht.begin();
delay(3000);
URTCLIB_WIRE.begin();
rtc.set(0, 0, 3, 6, 17, 5, 24);
}
void loop() {
//RTC
rtc.refresh();
delay(1000);
Serial.print("Fecha y Hora: ");
Serial.print(rtc.day());
Serial.print("/");
Serial.print(rtc.month());
Serial.print("/");
Serial.print(rtc.year());
Serial.print(" (");
Serial.print(diasem[rtc.dayOfWeek()-1]);
Serial.print(") ");
Serial.print(rtc.hour());
Serial.print(":");
Serial.print(rtc.minute());
Serial.print(":");
Serial.println(rtc.second());
//DHT22
humedad=dht.readHumidity();
temperatura=dht.readTemperature();
Serial.println("Humedad: ");
Serial.print(humedad);
Serial.println("%");
Serial.println("Temperatura: ");
Serial.print(temperatura);
Serial.println("C");
if(rtc.hour()==3 && rtc.minute()==0 && rtc.second()>=0 && rtc.second()>=10 && rtc.second()<=20){
Serial.println("ELECTROVALCULA=ON");
servo1.write(0);
digitalWrite(relay,HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led2, LOW);
}else if(rtc.hour()==3 && rtc.minute()==0 && rtc.second()>=0 && rtc.second()>20){
Serial.println("ELECTROVALCULA=OFF");
servo1.write(90);
digitalWrite(relay, LOW);
digitalWrite(led3, LOW);
digitalWrite(led2, HIGH);
}
}