#include "DHTesp.h"
#include <stdio.h>


/* Definición del tipo de sensor */
#define DHTTYPE DHTesp::DHT22
 /*Declaración de variables Leds y botones  */ 
int LedHumedadVerde = 14;
int LedTemperaturaAzul = 15;
int BotonPulsadorVerde = 26;
int BotonPulsadorAzul = 27;


const int DHT_PIN = 17;

/* Habitar la instancia del sensor de temperatura */
DHTesp sensorTemperaturaDTH;
void setup() {
  Serial.begin(114200);
  /*Inicializamos el sensor de temperatura*/
  sensorTemperaturaDTH.setup(DHT_PIN, DHTTYPE);
  /*Inicializamos el pin del pulzadorverde como entrada*/
  pinMode(BotonPulsadorVerde, INPUT_PULLUP);
  /*Inicializamos el pin del pulzadorazul como entrada*/
  pinMode(BotonPulsadorAzul, INPUT_PULLUP);
  /*Inicializamos el led verde como salida*/
  pinMode(LedHumedadVerde, OUTPUT);
  /*Inicializamos el led verde como salida*/
  pinMode(LedTemperaturaAzul, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  //Capturas los datos de temperatura y humedad del Sensor DHT22
  TempAndHumidity data = sensorTemperaturaDTH.getTempAndHumidity();
  float temperature = sensorTemperaturaDTH.getTemperature();
  float humidity = sensorTemperaturaDTH.getHumidity();

   // Comprobación de los Niveles de Humedad
  if (humidity < 25 ||  humidity > 60) {
    digitalWrite(LedHumedadVerde, HIGH);
  } else {
    digitalWrite(LedHumedadVerde, LOW);
  }

// Comprobación de los Niveles de Temperatura
  if (data.temperature> 45) {
    digitalWrite(LedTemperaturaAzul, HIGH);
  } else {
    digitalWrite(LedTemperaturaAzul, LOW);
    
  } 

// Apagado de los leds
  if ((digitalRead(BotonPulsadorVerde) == LOW) || (digitalRead(BotonPulsadorAzul) == LOW)) {
    digitalWrite(LedHumedadVerde, LOW);
    digitalWrite(LedTemperaturaAzul, LOW);
  
  }
}