for para multiplos sensores analogicos y sus salidas

hola buenas!!!
acabo de empezar en arduino y estoy haciendo un proyecto de un invernadero para asi ir buscando y informarme mejor de como funciona, el caso es que quiero realizar un arrays para las entradas analogicas( sensores de humedad) y y para las salidas, pero creo que me estoy haciendo un lio con el codigo, ya que estado mirando y no veo nada referente a esto asi que posiblemente el problema sea el plantamiento, bueno os dejo el codigo y si alguien puede comentarme lo que esta mal o otra forma mejor de plantearmelo, estaria muy agradecido,

int entrada[]=(A0,A1,A2);
int e=0;
int salida[]=(1,2,3);
int s=0;
voidsetup()
{
Serial.begin(9600);
for(e=0;e<3;e++);
{
analogRead(entrada[e], INPUT);
}
for(s=0;s<3;s++);
{
pinModel(salida[e],OUTPUT);
}
}
void loop()
{
int humedadato= analogRead[e];
int humedad= map(humedadato, 1023, 0, 0, 100);
Serial.println(humedad);
for(e=0;e<3;e++)
{
if (humedad<90) && (e=s)
{digitalWrite(salida, HIGH);
}else{
digitalWrite(salida, LOW);
s++;
}
}
}

Tienes varios errores.

Observa el código corregido pruébalo y lo debatimos.

const byte entrada[] = (A0,A1,A2);
const byte salida[]  = (1,2,3);

int e;
int s;

void setup() {
    Serial.begin(9600);
    for (s=0; s<3; s++) {
         pinMode(salida[e], OUTPUT);
    }
}

void loop() {
    int humedadato;
    int humedad;

    for (e=0; e<3; e++) {
         humedadato= analogRead[e];
         humedad = map(humedadato, 1023, 0, 0, 100);
         Serial.print("Sensor:"); 
         Serial.print(e);
         Serial.print(" ");
         Serial.println(humedad);
    
         if (humedad < 90) 
            digitalWrite(salida[e], HIGH);
         else
            digitalWrite(salida[e], LOW);
    }
}

hola surbyte, lo primero agradecerte ttu tiempo y tu ayuda sobretodo por que me he quedado atascado con esto y estoy un poco ofecado.
he visto el ccodigo que me has escrito y l he repasado y se me ha quedado asi:

const byte entrada[] = {A0,A1,A2};
const byte salida[]  = {1,2,3};

int e;
int s;

void setup() {
    Serial.begin(9600);
    for (s=0; s<3; s++) {
         pinMode(salida[s], OUTPUT);
    }
}

void loop() {
    int humedadato;
    int humedad;

    for (e=0; e<3; e++) {
         humedadato= analogRead[e];
         humedad = map(humedadato, 1023, 0, 0, 100);
         Serial.print("Sensor:");
         Serial.print(e);
         Serial.print(" ");
         Serial.println(humedad);
   
         if (humedad < 90)
         { digitalWrite(salida[s], HIGH);
         }else{
            digitalWrite(salida[s], LOW);
    }
}
}

pero me da un error:
invalid conversion from 'int ()(uint8_t) {aka int ()(unsigned char)}' to 'int' [-fpermissive].

de todas formas para que se vea mas claro lo que quiero hacer he escrito este codigo, que seria la version fea que intento hacer mas simple y mas corta.

int salida1=1;
int sensore1=A0;
int salida2=2;
int sensore2=A2;
int salida3=3;
int sensore3=A3;
int salida4=4;
int sensore4=A4;

void setup()
{
Serial.begin(9600)
pinMode(salida1, OUTPUT);
pinMode(salida2, OUTPUT);
pinMode(salida3, OUTPUT);
pinMode(salida4, OUTPUT);
}

void loop()
int humedato1;
int humedad1;
humedadato1= analogRead(sensor1);
humedad1= map(humedadato, 1023, 0, 0, 100);
if(humedad1<90)
{digitalWrite(salida1, HIGH);
 }else{
digital(salida1, LOW);
int humedato2;
int humedad2;
humedadato2= analogRead(sensor2);
humedad2= map(humedadato, 1023, 0, 0, 100);
if(humedad2<90)
{digitalWrite(salida2, HIGH);
 }else{
digital(salida2, LOW);
int humedato3;
int humedad3;
humedadato3= analogRead(sensor3);
humedad3= map(humedadato, 1023, 0, 0, 100);
if(humedad3<90)
{digitalWrite(salida3, HIGH);
 }else{
digital(salida3, LOW);
int humedato4;
int humedad4;
humedadato4= analogRead(sensor4);
humedad4= map(humedadato, 1023, 0, 0, 100);
if(humedad4<90)
{digitalWrite(salida4, HIGH);
 }else{
digital(salida4, LOW);
}
}

tambien he estado pensando que si posible realizar un for anidado de tipo:

for(e=0;e<3;e++) && (s=0;s<3;s++)
if (humedad<90) 
{digitalWrite(salida(s), HIGH);
}else{
digitalWrite(salida(s), LOW);
s++;

muchisimas gracias por tu ayuda y a ver si consiguo alguna forma de expresar correctamente lo que quiero que mi arduio haga :), muchisismas gracias y un abrazo

Cuidado, se han despistado con una cosa. No es correcto:

humedadato= analogRead[e];

Lo correcto es:

humedadato= analogRead(entrada[e]);

muchas gracias IgnoranteAbsoluto, es justo el error que me daba :)!!!!, gracias a tu correcion no me d errores, muchas gracias por tu ayuda ahora esoy probando pero sigue sin realizar la lectura que quiero, vo a revisar mas el codigo y pensar en que falla!!:wink: muchas gracias de nuevo

Es cierto pero no solo ese error tmb este

Estos dos arrays estan mal definidos

const byte entrada[] = {A0,A1,A2};
const byte salida[]  = {1,2,3};

Al no compilar tu código no advertí estos errores y tampoco el señalado por IgnoranteAbsoluto.
Este código si funciona o al menos no da error.

const byte entrada[] = {A0,A1,A2};
const byte salida[]  = {1,2,3};

int e;
int s;

void setup() {
    Serial.begin(9600);
    for (s=0; s<3; s++) {
         pinMode(salida[e], OUTPUT);
    }
}

void loop() {
    int humedadato;
    int humedad;

    for (e=0; e<3; e++) {
         humedadato = analogRead(entrada[e]);
         humedad    = map(humedadato, 1023, 0, 0, 100);
         Serial.print("Sensor:"); 
         Serial.print(e);
         Serial.print(" ");
         Serial.println(humedad);
    
         if (humedad < 90) 
            digitalWrite(salida[e], HIGH);
         else
            digitalWrite(salida[e], LOW);
    }
}

Me asalta una duda... ¿El map no debría de ser así?

humedad = map(humedadato, 0, 1023, 0, 100);

Primero el 0 y después el 1023. Pregunto, porque no estoy seguro.

No porque ese sensor trabaja al revés.

creo que esta bien como lo tengo, (repecto a map, pero no estoy seguro del todo).
el codigo compida y trabaja y ha quedado asi

const byte entrada[] = {A0,A1,A2};
const byte salida[]  = {1,2,3};

int e;
int s;

void setup() {
    Serial.begin(9600);
    for (s=0; s<3; s++) {
         pinMode(salida[s], OUTPUT);
    }
}

void loop()
{
    int humedadato;
    int humedad;
 
  
    for (e=0; e<3; e++)
        
    {
         humedadato= analogRead(entrada[e]);   
         humedad = map(humedadato, 1023, 0, 0, 100);
         Serial.print("Sensor:");
         Serial.print(e);
         Serial.print(" ");
         Serial.println(humedad);
         delay(1000);
   for (s=0; s<3; s++) 
   {
       Serial.print("Salida:");
         Serial.print(s);
         Serial.print(" ");
         Serial.println("agua");
         delay(1000);
         if (humedad < 90) 
         { digitalWrite(salida[s], HIGH);
         }else{
            digitalWrite(salida[s], LOW);
    }
   }  
}
}

el rpoblema esta en que no corre como kiero ya que me hace me hace la siguiente secuencia:
Sensor:0 85 Salida:0 numero Salida:1 numero Salida:2 numero Sensor:1 85 Salida:0 numero Salida:1 numero Salida:2 numero Sensor:2 85 Salida:0 numero Salida:1 numero Salida:2 numero

y quiero que haga

sensor 0
salida 0
sensor 1
salida 1
sensor 2
salida 2

por lo que ahi algo en el planteamiento que no lo he hecho bien.....

agrega un println al final y listo.

Ese será tu código porque el que te di yo no puede tener esa salida
Agrega " humedad" al que yo puse con solo " " un espacio

         Serial.print("Sensor:");
         Serial.print(e);
         Serial.print(" Humedad: ");
         Serial.println(humedad);

Este debe imprimir asi

Sensor 0 Humedad: 450
Sensor 1 Humedad: 120
Sensor 2 Humedad: 566