#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
int segundo,minuto,hora,dia,mes,diaDeLaSemana;
DateTime HoraFecha;
int regt;
int regh;
int pote;
int spry = 4;
int luz = 3;
int vent1 = 5;
int vent2 = 6; //refigeracion para l invernadero 1 y 2 para la cosecha
void setup() {
pinMode(A1, INPUT);//pote o seleccionador
pinMode(11, INPUT); //luz
pinMode(vent1, OUTPUT);
pinMode(vent2, OUTPUT);
pinMode(luz, OUTPUT);
pinMode(spry, OUTPUT);
Serial.begin(9600);
Serial.println(F("Sincronizando con el medidor..."));
dht.begin();
lcd.begin(16, 2);
rtc.begin(); //RTC (reloj)
}
void loop() {
/*
ACA ESTA LA LUZ
ACA ESTA LA LUZ
ACA ESTA LA LUZ
ACA ESTA LA LUZ
*/
HoraFecha = rtc.now(); //fecha actual
segundo=HoraFecha.second();
minuto=HoraFecha.minute();
hora=HoraFecha.hour();
diaDeLaSemana=HoraFecha.dayOfTheWeek();
float horas=hora+minuto/60.0;
if(diaDeLaSemana>0&&diaDeLaSemana<7 && horas>6.5&&horas<18.5)
{
digitalWrite(luz, HIGH);
Serial.print("luz esta prendida");
}
else
{
digitalWrite(luz, LOW);
Serial.print("luz esta apagada");
}
Serial.print(" hora: ");
Serial.print(hora);
Serial.print(":");
Serial.print(minuto);
Serial.print(":");
Serial.print(segundo);
Serial.print(" dia: ");
Serial.print(HoraFecha.dayOfTheWeek());
Serial.println();
delay(500);
/*
ACA ESTA EL SENSOR
ACA ESTA EL SENSOR
ACA ESTA EL SENSOR
ACA ESTA EL SENSOR
ACA ESTA EL SENSOR
ACA ESTA EL SENSOR
*/
delay(500);
float h = dht.readHumidity(); //Humedad
float t = dht.readTemperature(); //Celsius
float PENERODRI = dht.readTemperature(true); //Fahrenheit
Serial.print("Humedad ");
Serial.print(h);
Serial.print("% ");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" °C ");
Serial.print(PENERODRI);
Serial.println(" °F");
/*
ACA LA FRUTA
ACA LA FRUTA
ACA LA FRUTA
ACA LA FRUTA
*/
pote = analogRead(A1);
pote = map(pote, 0, 1023, 0, 4);
Serial.print("Estas utilizando la configuracion num: ");
Serial.println(pote);
regh = analogRead(A2);
regh = map(regh, 0, 1023, 0, 100);
Serial.print("HUMEDAD regulabe establecida en: ");
Serial.println(regh);
regt = analogRead(A3);
regt = map(regt, 0, 1023, 0, 40);
Serial.print("TEMPERATURA regulabe establecida en: ");
Serial.print(regt);
Serial.println("°C");
/*
LCD
LCD
LCD
LCD
*/
lcd.print("Hum: ");
lcd.print(h,0);
lcd.print("% ");
lcd.setCursor(0, 1);
lcd.print("Temp:");
lcd.print(t,0);
lcd.print("C ");
lcd.setCursor(9, 0);
lcd.print("Reg:");
lcd.print(regh);
lcd.print("%");
lcd.setCursor(13, 1);
lcd.print(regt);
lcd.print("C");
/*
SWICH
SWICH
SWICH
SWICH
*/
switch(pote){
case(1):
if(h <= 30){
digitalWrite(spry, HIGH);
}
else{
digitalWrite(spry, LOW);
}
if(t >= 22){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, HIGH);
}
else{
if(t >= 17){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, LOW);
}
else{
digitalWrite(vent1, LOW);
digitalWrite(vent2, LOW);
}
}
Serial.println("TULIPAN");
break;
/*
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
*/
case(2):
if(h <= 15){
digitalWrite(spry, HIGH);
}
else{
digitalWrite(spry, LOW);
}
if(t >= 15){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, HIGH);
}
else{
if(t >= 12){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, LOW);
}
else{
digitalWrite(vent1, LOW);
digitalWrite(vent2, LOW);
}
}
Serial.println("JAZMIN");
break;
/*
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
*/
case(3):
if(h <= 70){
digitalWrite(spry, HIGH);
}
else{
digitalWrite(spry, LOW);
}
if(t >= 6){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, HIGH);
}
else{
if(t >= 3){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, LOW);
}
else{
digitalWrite(vent1, LOW);
digitalWrite(vent2, LOW);
}
}
Serial.println("HORTALIZAS");
break;
/*
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
*/
case(4):
if(h <= 27){
digitalWrite(spry, HIGH);
}
else{
digitalWrite(spry, LOW);
}
if(t >= 12){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, HIGH);
}
else{
if(t >= 4){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, LOW);
}
else{
digitalWrite(vent1, LOW);
digitalWrite(vent2, LOW);
}
}
Serial.println("FLORIPONDIO");
break;
/*
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
INICIA OTRO CASO
*/
default:
if(h <= regh){
digitalWrite(spry, HIGH);
}
else{
digitalWrite(spry, LOW);
}
if(t >= regt + 2){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, HIGH);
}
else{
if(t >= regt){
digitalWrite(vent1, HIGH);
digitalWrite(vent2, LOW);
}
else{
digitalWrite(vent1, LOW);
digitalWrite(vent2, LOW);
}
}
Serial.println("REGULABLE");
break;
}
}
/*
.-"""-. .-"""-.
/ `..' \
_ | |
.-' / | L A | /////
< <======\ Mama de rodri /====<<<<<
'-._\ \ / \\\\\
`\ /'
`\ /'
`\ /'
`\/'
*/