Cultivo autonomo (otro) con salidas a cuadro baja tension

Buenos dias!!

Soy nuevo en este foro, espero no contravenir ninguna norma (espero acostumbrarme pronto), pues tampoco estoy muy metido en el mundo de los foros.
Al lio!
Estoy con un Nano, le he puesto DHT11, y sensores de humedad, lo he vinculado a reles y contactores.
Pero aun no se depurar bien el codigo, y creo que he escrito mucho mucho mas de la cuenta, con todos los problemas que eso conlleva.

Aun no he conseguido “manejar” las salidas a rele con los datos que me da la DHT11, y no sé donde doy el fallo…

Envio el codigo, perdon de antemano por lo farragoso, me falta pulir mi estilo… o tener algun estilo! JEJE

Alguna idea para mejorarlo?

Muchas gracias de antemano!!
Un saludo fuerte a la comunidad Arduinista!

#include <DHT.h>
#include <DHT_U.h>

#include <Adafruit_Sensor.h>
const int sensorPinInundacion = A1; //sensor inundacion de recinto
const int sensorPin = A0;  //sensor humedad tierra macetas
const int Pin2 = 2;   //sensor DHT 
const int Pin3 = 3;   //Rele de bomba de agua
const int Pin4 = 4;   //rele intractor
const int Pin5 = 5;   //Rele extractor
const int Pin6 = 6;   //Rele luces
const int Pin7 = 7;   //Rele seguridad bomba de riego antinundacion
 float sensorHumedad;
 float sensorInundacion;
 float temperatura;
 int Temp=24.5;
 #include "DHT.h"
#define DHTPIN 2     // Pin donde esta conectado el sensor
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  pinMode(Pin2, INPUT); //sensor temperatura y humedad
  pinMode(sensorPin, INPUT); // Iniciamos el pin del sensor de humedad del suelo como input
  pinMode(sensorPinInundacion, INPUT); //iniciamos sensor de inundacion de recinto
  pinMode(Pin3, OUTPUT);   //definir pines de reles como salida
  pinMode(Pin4, OUTPUT);
  pinMode(Pin5, OUTPUT);  
  pinMode(Pin6, OUTPUT);  
  pinMode(Pin7, OUTPUT);
  Serial.begin(19200); // Preparar la interfaz serial
  dht.begin();
}
void loop() {
  
  int humedad = analogRead(sensorPin);
  sensorHumedad = analogRead(A0); // leemos la entrada analogica en pin 0:
  sensorHumedad = 5-5*sensorHumedad/1023; // convertimos el valor 
  Serial.print(sensorHumedad); // visualizamos el valor y sin salto de linea...
  Serial.print(F("V, ")); // Imprimo los V para ver la relación en pantalla 
  sensorHumedad=sensorHumedad*20; // Multiplico los 5V * 20 para que 1023 me de 100%
  Serial.print(sensorHumedad); // y lo mostramos 
  Serial.println (F("% Sensor de humedad en tierra")); // ...Ponemos el simbolo de la Humedad
  delay(5000); // retardo de cinco segundo entre lecturas por estabilidad

  int inundacion = analogRead(sensorPinInundacion);
  sensorInundacion = analogRead(A1); // leemos la entrada analogica en pin 1
  sensorInundacion = 5-5*sensorInundacion/1023; // convertimos el valor 
  Serial.print(sensorInundacion); // visualizamos el valor y sin salto de linea...
  Serial.print(F("V, ")); // Imprimo los V para ver la relacion en pantalla 
  sensorInundacion=sensorInundacion*20; // Multiplico los 5V * 20 para que 1023 me de 100%
  Serial.print(sensorInundacion); // y lo mostramos 
  Serial.println (F("% Sensor Inundacion")); // ...Ponemos el simbolo de la Humedad
  delay(5000); // retardo de cinco segundos entre lecturas por estabilidad
  
  float h = dht.readHumidity(); //Leemos la Humedad
  float t = dht.readTemperature(); //Leemos la temperatura en grados Celsius
  float f = dht.readTemperature(true); //Leemos la temperatura en grados Fahrenheit
  int temperatura = digitalRead(Pin2);
  
  //--------Enviamos las lecturas por el puerto serial-------------
  Serial.print(F("Humedad "));
  Serial.print(h);
  Serial.print(F("% "));
  Serial.print(F("Temperatura: "));
  Serial.print(t);
  Serial.print("C ");
  Serial.print(f);
  Serial.println("F");
  Serial.println(humedad);
  if(t > Temp)
  {
  Serial.println(F("Demasiado calor intractor extractor  encendido"));
  digitalWrite(Pin4, LOW);
  digitalWrite(Pin5, LOW);
  }
  if(inundacion <900)
  {
  digitalWrite(Pin3, LOW);
  digitalWrite(Pin4, LOW);
  digitalWrite(Pin5, LOW);
  digitalWrite(Pin6, LOW);
  digitalWrite(Pin7, HIGH);
  Serial.print(inundacion);
  Serial.println(F("Recinto encharcado Todo detenido por emergencia")); 
  }
  else if(inundacion>750)
  {
  Serial.print(inundacion);
  Serial.println(F("Recinto seco."));  
  digitalWrite(Pin7, LOW);
  }
  if(humedad >=400)
  {
  digitalWrite(Pin3, HIGH);  
  Serial.println(humedad);
  Serial.println(F("Riego activado"));  
}
}/code]