Problema con HL-69

El problema es que, solo un sensor HL-69 funciona, es decir, solo uno hace la lectura y los demás permanecen como si no estuvieran ahi, alguien podria ayudarme por favor?

El programa trata de hacer la lectura en 4 sectores (por lo que tengo 4 sensores HL-69) pero nadamas uno funciona!! es un sistema de riego automatizado, adjunto aquí el código

#include <DHT.h>
#include <DHT_U.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include "DHT.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int cont = 0;
int dato1;
int dato2;
float voltios;
float temperaturaC;
int alarma = 13;
int ventilador = 12;
int pin1Motor = 11;
int pin2Motor = 10;
int finalCarrera1 = 9;
int finalCarrera2 = 8;
int relay1 = 7;
int relay2 = 6;
int relay3 = 5;
int relay4 = 4;
void ControlAlarma()
{
  if (temperaturaC < 36 && dato2 > 850)
  {
    digitalWrite(alarma, LOW);
  }

  if (temperaturaC >= 36 || dato2 <= 850)
  {
    digitalWrite(alarma, HIGH);
  }

}

void ControlTecho()
{
  if (temperaturaC >= 36 && temperaturaC < 47 && dato2 > 850)
  {
    if (digitalRead(finalCarrera1) == HIGH && digitalRead(finalCarrera2) == LOW)
    {
      analogWrite(pin1Motor, 70);
      analogWrite(pin2Motor, 0);
      Serial.println(">> ABRIENDO");
      Serial.println("");
      delay(100);
    }

    if (digitalRead(finalCarrera1) == LOW && digitalRead(finalCarrera2) == HIGH)
    {
      analogWrite(pin1Motor, 0);
      analogWrite(pin2Motor, 0);
      Serial.println(">> Techo Abierto");
      Serial.println("");
      delay(100);
    }

  }

  if (temperaturaC >= 36 && temperaturaC < 47 && dato2 <= 850)
  {
    if (digitalRead(finalCarrera2) == HIGH)
    {
      analogWrite(pin1Motor, 0);
      analogWrite(pin2Motor, 70);
      Serial.println(">> CERRANDO");
      Serial.println("");
      delay(100);
    }
    if (digitalRead(finalCarrera1) == HIGH)
    {
      analogWrite(pin1Motor, 0);
      analogWrite(pin2Motor, 0);
      Serial.println(">> Techo Cerrado");
      Serial.println("");
      delay(100);
    }

  }

  if (temperaturaC < 36 && dato2 > 850)
  {
    if (digitalRead(finalCarrera2) == HIGH)
    {
      analogWrite(pin1Motor, 0);
      analogWrite(pin2Motor, 70);
      Serial.println(">> CERRANDO");
      Serial.println("");
      delay(100);
    }
    if (digitalRead(finalCarrera1) == HIGH)
    {
      analogWrite(pin1Motor, 0);
      analogWrite(pin2Motor, 0);
      Serial.println(">> Techo Cerrado");
      Serial.println("");
      delay(100);
    }
  }

  if (temperaturaC > 47 && dato2 <= 850)
  {
    if (digitalRead(finalCarrera1) == HIGH)
    {
      analogWrite(pin1Motor, 70);
      analogWrite(pin2Motor, 0);
      Serial.println(">> ABRIENDO");
      Serial.println("");
      delay(100);
    }

    if (digitalRead(finalCarrera2) == HIGH)
    {
      analogWrite(pin1Motor, 0);
      analogWrite(pin2Motor, 0);
      Serial.println(">> Techo Abierto");
      Serial.println("");
      delay(100);
    }
  }
}

void ControlVentilador()
{
  if (temperaturaC >= 36)
  {
    digitalWrite(ventilador, HIGH);
  }
  else
  {
    digitalWrite(ventilador, LOW);
  }
}
void setup() {
  lcd.begin(16, 2);
  dht.begin();
  lcd.backlight();
  lcd.init();
  Serial.begin(9600);
  pinMode (relay1, OUTPUT);
  pinMode (relay2, OUTPUT);
  pinMode (relay3, OUTPUT);
  pinMode (relay4, OUTPUT);
  pinMode(finalCarrera1, INPUT);
  pinMode(finalCarrera2, INPUT);
  pinMode(alarma, OUTPUT);
  pinMode(pin1Motor, OUTPUT);
  pinMode(pin2Motor, OUTPUT);
  pinMode(ventilador, OUTPUT);
}

void loop() {
  if (cont < 10) {
    lcd.clear(); // Borra pantalla
    lcd.setCursor(0, 0); // Inicio del cursor
    lcd.print("Smart greenhouse");
    delay (300);
    cont = cont + 1;
  }
  else {
    lcd.clear(); // Borra pantalla
    lcd.setCursor(0, 0); // Inicio del cursor
    float humedad = dht.readHumidity();
    float temperatura = dht.readTemperature();


    lcd.clear(); // Borra pantalla
    lcd.setCursor(0, 0); // Inicio del cursor
    lcd.print("Tempera= ");
    lcd.print(temperatura);
    lcd.setCursor(0, 1); // Siguiente renglón.
    lcd.print("Humedad= ");
    lcd.print(humedad);
    delay(3000);
    // put your main code here, to run repeatedly:
    int lectura = analogRead (A0);
    int lecturaPorcentaje = map (lectura, 1023, 300, 0, 100);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print ("Sector 1: ");
    lcd.print (lecturaPorcentaje);
    lcd.println ("  %");

    if (lectura <= 512) {

      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad Normal 1");
      lcd.setCursor(0, 1);
      lcd.print ("desconecto riego");
      digitalWrite (relay1, LOW);
      delay (4000);
      lcd.clear ();
    }
    else if (lectura >= 312) 
    {
      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad baja 1");
      lcd.setCursor(0, 1);
      lcd.print ("conecto riego");
      digitalWrite (relay1, HIGH);
      delay (4000);
      lcd.clear ();
    }
    int lectura2 = analogRead (A1);
    int lecturaPorcentaje2 = map (lectura, 1023, 300, 0, 100);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print ("Sector 2: ");
    lcd.print (lecturaPorcentaje);
    lcd.println ("  %");
    
    if (lectura <= 512) {

      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad Normal 2");
      lcd.setCursor(0, 1);
      lcd.print ("desconecto riego");
      digitalWrite (relay2, LOW);
      delay (4000);
      lcd.clear ();
    }
    else if (lectura >= 312) {
      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad baja 2");
      lcd.setCursor(0, 1);
      lcd.print ("conecto riego");
      digitalWrite (relay2, HIGH);
      delay (4000);
      lcd.clear ();
    }
    int lectura3 = analogRead (A2);
    int lecturaPorcentaje3 = map (lectura, 1023, 300, 0, 100);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print ("Sector 3: ");
    lcd.print (lecturaPorcentaje);
    lcd.println ("  %");
    if (lectura <= 512) {

      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad Normal 3");
      lcd.setCursor(0, 1);
      lcd.print ("desconecto riego");
      digitalWrite (relay3, LOW);
      delay (4000);
      lcd.clear ();
    }
    else if (lectura >= 312) {
      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad baja 3");
      lcd.setCursor(0, 1);
      lcd.print ("conecto riego");
      digitalWrite (relay3, HIGH);
      delay (4000);
      lcd.clear ();
    }
    int lectura4 = analogRead (A3);
    int lecturaPorcentaje4 = map (lectura, 1023, 300, 0, 100);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print ("Sector 4: ");
    lcd.print (lecturaPorcentaje);
    lcd.println ("  %");
    if (lectura <= 512) {

      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad Normal 4");
      lcd.setCursor(0, 1);
      lcd.print ("desconecto riego");
      digitalWrite (relay4, LOW);
      delay (4000);
      lcd.clear ();
    }
    else if (lectura >= 312) {
      lcd.clear ();
      lcd.setCursor(0, 0);
      lcd.print ("Humedad baja 4");
      lcd.setCursor(0, 1);
      lcd.print ("conecto riego");
      digitalWrite (relay4, HIGH);
      delay (4000);
      lcd.clear ();
    }
    dato1 = analogRead(A0);
    voltios = (dato1 / 1023.0) * 5;
    temperaturaC = voltios / 10e-3;
    Serial.print("TEMPERATURA : ");
    Serial.print(temperaturaC);
    Serial.println(" C");
    delay(100);

    Serial.println("");

    dato2 = analogRead(A0);
    Serial.print("Sector 1: ");
    Serial.println(dato2);
    delay(300);
    Serial.println("");
{
  dato1 = analogRead(A1);
    voltios = (dato1 / 1023.0) * 5;
    temperaturaC = voltios / 10e-3;
    Serial.print("TEMPERATURA : ");
    Serial.print(temperaturaC);
    Serial.println(" C");
    delay(100);

    Serial.println("");

    dato2 = analogRead(A1);
    Serial.print("Sector 2 : ");
    Serial.println(dato2);
    delay(300);
    Serial.println("");
}
{
  dato1 = analogRead(A2);
    voltios = (dato1 / 1023.0) * 5;
    temperaturaC = voltios / 10e-3;
    Serial.print("TEMPERATURA : ");
    Serial.print(temperaturaC);
    Serial.println(" C");
    delay(100);

    Serial.println("");

    dato2 = analogRead(A2);
    Serial.print("Sector 3 : ");
    Serial.println(dato2);
    delay(300);
    Serial.println("");
}
{
dato1 = analogRead(A3);
    voltios = (dato1 / 1023.0) * 5;
    temperaturaC = voltios / 10e-3;
    Serial.print("TEMPERATURA : ");
    Serial.print(temperaturaC);
    Serial.println(" C");
    delay(100);

    Serial.println("");

    dato2 = analogRead(A3);
    Serial.print("Sector 4 : ");
    Serial.println(dato2);
    delay(300);
    Serial.println("");
}

    ControlAlarma();
    ControlVentilador();
    ControlTecho();
  }
}

El código no se muestra correctamente, lee el punto 7 de las Normas del foro español y corrígelo por favor.

No profundizaré mucho hasta que corrijas lo que te he pedido pero, a primera vista, lees la humedad del primer sensor, la conviertes y la asignas a lecturaPorcentaje e imprimes su valor.
Luego lees el segundo, conviertes y asignas a lecturaPorcentaje2 pero imprimes lecturaPorcentaje. Error!
Lo mismo con los otros, siempre imprimes el valor del primer sensor.

Saludos

Muchas gracias, me sirvió mucho y una disculpa por la falta que cometí