I have this program that I found online and I'm trying to understand it, I do not know why the compareTo
works in this code since it handles it as a value booleano
and even where it is used to compare strings.
This is the code:
int pulsador = 0;
int pulsadorAnt = 0;
int estado = 0;
int x = 0;
int concurrencia = 0;
boolean compareTo = false;
void setup(){
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, INPUT);
}
void loop(){
while(true){
pulsador = digitalRead(4);
if (pulsador == HIGH && pulsadorAnt == LOW) {
estado = estado + 1; //Condición que verifica si el usuario ha presionado el botón
delay(10);
}
x = concurrencia % 2;
if(estado != 0 && x == 0 && concurrencia == 80){
compareTo = true; //Condición que da luz verde a la condición de las variables
Serial.println(estado);
break;
} else (estado != 0); {
delay(20);
concurrencia++;
}
pulsadorAnt = pulsador;
}
if(compareTo == true){ //Aquí valora la condición si se cumplió una anterior que el "status" sea diferente de 0
switch (estado)
{
case 1:
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
delay(3000);
estado = 0;
compareTo = false;
concurrencia = 0;
break;
case 2:
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
delay(3000);
estado = 0;
compareTo = false;
concurrencia = 0;
break;
default:
estado = 0;
digitalWrite(3, LOW);
digitalWrite(2, LOW);
delay(3000);
compareTo = false;
concurrencia = 0;
break;
}
}
}