Hola a todos, estoy tomando datos con 4 sensores de color al mismo tiempo y lo que quiero es que cuando los 4 sensores me lean el mismo color se active una salida, y cuando al menos uno o mas no corresponda al mismo color que los otros sensores este leyendo me active otra salida.
Lo que quiero que no pase es que con la luz ambiente o con solo colocar un color en un sensor y aun que no haya puesto los otros 3 colores me active como si no estuviera leyendo los 4 mismos colores
si sensor1=300 sensor2=300 sensor3=300 sensor4=300 prender una salida digital en la que vaya un led verde
y si no cumple con eso es decir que alguno sea diferente que prenda otra salida diferente siempre y cuando ya este haciendo lectura de algún color, lo que no quiero que suceda es que como al inicio sin haber colocado el color obviamente los sensores van a tener valores diferentes entonces me prenderia el led diciendome que son diferentes, solo quiero que eso pase cuando ya le ponga los colores en lectura
switch…case sirve para controlar el flujo del programa sometiendo una variable de control a ciertas condiciones. En particular, switch…case permite hacer una serie de comparaciones sin necesidad de ifs anidados.
esta hecho a la rapid puede contener errores, lo escribi desde el movil
byte valor_lectura;
unsigned long sensor1;
unsigned long sensor2;
unsigned long sensor3;
unsigned long limite1;
unsigned long limite2;
unsigned long limite3;
byte byte_I,byte_D,byte_E;
void loop(){
if(sensor1=limite1) { byte_I=1;
else byte_I=0;
}
if(sensor2=limite2) { byte_d=1; // limite2 puede ser cambiado por algun valor numerico a comparar
else byte_d=0;
}
if(sensor3=limite3) { byte_e=1; // limite2 puede ser cambiado por algun valor numerico a comparar
else byte_e=0;
}
valor_lectura=byte_I+byte_D+byte_E;
byte_I=0;
byte_D=0;
byte_E=0;
switch(valor_lectura){
case 1:
//1 se ejecuta esto
break;
case 2:
//2 se ejecuta esto
break;
case 3:
//3 se ejecuta esto
break;
//pueden haber tantos case como se necesite.
default:
//si nada coincide se ejecuta esto
//es opcional
break;
}
}
No hace falta ningun switch case. solo una comparación de que 4 valores de sensores esten dentro de cierto rango como lo he expuesto y tmb lo ha explicado ArduMyth