¡Hola gente! Buenos días, tardes o noche.
Tengo problemas al hacer funcionar la función ‘‘while’’ y me gustaría recibir un poco de ayuda con su uso. Estoy haciendo una programación que en la que quiero hacer lo siguiente:
- Deseo que mis variables S1 y S2 (Los cuales son unos sensores que me brindaran valores) cumplan varias condiciones para que se mantenga el ciclo dentro del while y cuando dejen de hacerlo realice lo que sigue de la programación. Ahora les muestro:
int S1=A0; //Sensor 1
int S2=A1; //Sensor 2
void setup() {
}
void loop (){
while ((S1>20 && S1<40) && (S2>20 && S2<40));{
//Programacion para que haga X cosa
}
//Una vez que salga de el la función while, ejecuta una programación que haga Y cosa, continuando con la demas.
}
El problema es que cuando lo hice en fisico no me funciona y he estado teniendo dificultad en arreglarlo, asi que espero que puedan ayudarme, por favor.
Muchas gracias por adelantado.
PD: Por cierto, debido a que necesito que siga esta condicion hasta que sea diferente, en este caso no puedo reemplazarlo con If porque no es de mucha ayuda para mi en lo que deseo hacer.
~-~SOLUCION: ~-~
Ahora mismo les dejo la programación de prueba que hice (Con su ayuda, claro) para que le sirva a alguien más si está utilizando dos o más condiciones con los pines analógicos (Conectando dos sensores CNY70).
int SC1=A0; //Sensor de color 1 CNY70
int SC2=A1; //Sensor de color 2 CNY70
void setup() {
Serial.begin (9600);
pinMode(13, OUTPUT);
}
void loop (){
Serial.print(analogRead(SC1));
Serial.print(" ");
Serial.println(analogRead(SC2)); //Los datos que me otorgan los CNY70 los puedo ver en el monitor
// serial y saber en qué rango está más o menos el color que necesito, en este caso el blanco.
while ((analogRead(SC1)>700 && analogRead(SC1)<900) && (analogRead(SC2)>700 && analogRead(SC2)<900)) {
//En este caso las condiciones corresponden al rango en el que me detecta el color blanco.
digitalWrite(13, HIGH);}
digitalWrite(13, LOW);} //Se dejo de cumplir la condicion y el LED de prueba se apaga.
Gracias a todos por su atencion n.n