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