#include "DHT.h"
#define DHTPIN A0     // Digital pin connected to the DHT sensor
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
DHT dhtPlanta1(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  Serial.println(F("PUERTO SERIAL INICIADO PARA DHT11"));
  dhtPlanta1.begin();
  Serial.println("Maquina,Humedad,Temp,Celsius,TempF,estadoHumedad,estadoTemp");
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
}
void loop() {
  delay(2000);
  int humedadPlanta1 = dhtPlanta1.readHumidity();
  float temperaturaPlanta1 = dhtPlanta1.readTemperature();
  float temperaturaPlanta1F = dhtPlanta1.readTemperature(true);
  String estadoHumedad;
  String estadoTemp;
  if(temperaturaPlanta1 < 18){
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    digitalWrite(10, HIGH);
    estadoTemp = "Bajo";
  }
  if(temperaturaPlanta1 >= 18 && temperaturaPlanta1 <= 24){
    digitalWrite(10, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, HIGH);
    estadoTemp = "Ideal";
  }
  if(temperaturaPlanta1 > 24){
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(8, HIGH);
    estadoTemp = "Alto";
  }
  
  if(humedadPlanta1 < 60){
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, HIGH);
    estadoHumedad = "Bajo";
  }
  if(humedadPlanta1 >= 60 && humedadPlanta1 <= 80){
    digitalWrite(4, LOW);
    digitalWrite(2, LOW);
    digitalWrite(3, HIGH);
    estadoHumedad = "Ideal";
  }
  if(humedadPlanta1 > 80){
    digitalWrite(4, LOW);
    digitalWrite(3, LOW);
    digitalWrite(2, HIGH);
    estadoHumedad = "Alto";
  }
  Serial.print("Mq 1,");
  Serial.print(humedadPlanta1); Serial.print(",");
  Serial.print(temperaturaPlanta1); Serial.print(",");
  Serial.print(temperaturaPlanta1F); Serial.print(",");
  Serial.print(estadoHumedad); Serial.print(",");
  Serial.print(estadoTemp); 
  Serial.println("");
}