#include <LiquidCrystal.h>
#include <DHT.h>
int V0 = 6;
LiquidCrystal lcd(V0, 7, 8 , 9, 10, 11);
int water; //random variable
int bomba = 2; //Pin salida de señal al Relé de la bomba de agua.
int LDR = 13; //Pin de entrada de datos de sensor de luz.
int foco = 4; //Pin de salida de señal al Relé del foco.
int sensorHumedad = 5; //Pin de entrada de datos del sensor de humedad.
int sensorTemp = 12;
int luzAmbiente; //Varible que almacena la cantidad de luz del ambiente.
int temperatura;
int humedad;
int posicionBomba;
int posicionFoco;
String estadoBomba = "Bomb: Desactivada";
String estadoFoco = "Luz: Desactivada";
DHT dht (sensorTemp, DHT22);
void setup() {
pinMode(bomba,OUTPUT);
pinMode(sensorHumedad,INPUT);
pinMode(foco,OUTPUT);
pinMode(LDR,INPUT);
lcd.begin(16,2);
analogWrite(V0, 0);
Serial.begin(9600);
dht.begin();
}
void loop() {
lcd.clear();
delay(1000);
lcd.println("Revisando");
lcd.setCursor(0,1);
lcd.println("datos...");
delay(1000);
lcd.clear();
water = digitalRead(sensorHumedad); //Lee datos del sensor de humedad
if (water == 1){
posicionBomba = 1;
}
else
{
posicionBomba = 0;
digitalWrite(bomba, LOW);
estadoBomba = "Bomb: Desactivada";
}
while(posicionBomba == 0){
// statement(s)
humedad = dht.readHumidity();
temperatura = dht.readTemperature();
lcd.clear();
lcd.print(estadoBomba);
lcd.setCursor(0,1);
lcd.println(estadoFoco);
delay(4000);
lcd.clear();
lcd.setCursor(0,0);
lcd.blink();
delay(2000);
lcd.clear();
lcd.println("Humedad:");
lcd.setCursor(13,0);
lcd.println(humedad);
lcd.setCursor(15,0);
lcd.println("%");
lcd.setCursor(0,1);
lcd.println("Temperatura:");
lcd.setCursor(13,1);
lcd.println(temperatura);
lcd.setCursor(15,1);
lcd.println("C");
delay(5000);
lcd.clear();
lcd.blink();
delay(1000);
lcd.println("Liceo Comercial");
delay(500);
lcd.setCursor(0,1);
lcd.println("******Tom@******");
delay(4000);
water = digitalRead(sensorHumedad); //Lee datos del sensor de humedad
if(water == 1) //Si detecta que hay humedad
{
posicionBomba = 1;
digitalWrite(bomba,HIGH); //Actica la señal al relé de la bomba de agua. (ACTIVA LA BOMBA DE AGUA)
}
else //Si no detecta humedad.
{
posicionBomba = 0;
digitalWrite(bomba,LOW); // Descativa la señal al relé de la bomba de agua. (DESACTIVA LA BOMBA DE AGUA)
}
luzAmbiente = digitalRead(LDR); //Lee los datos del sensor de luz
if(luzAmbiente == 1){ // Si detecta que hay luz ambiental.
digitalWrite(foco,HIGH); //Activa la señal al relé del foco. (Enciende la luz)
lcd.clear();
lcd.setCursor(0,1);
estadoFoco = "Luz: Activada";
}
else //Si no detecta luz ambiental.
{
digitalWrite(foco,LOW); //Desactiva la señal al relé del foco. (Apaga la luz)
lcd.clear();
lcd.setCursor(0,1);
estadoFoco = "Luz: Desactivada";
}
}//FIN del WHILE
lcd.clear();
lcd.println("Bomb: Activada");
delay(2000);
}