Buenas gente, tengo una consulta para ustedes. Estoy desarrollando un código comunicado por bluetooth a la app virtuino y tengo un inconveniente que es el siguiente. Desde la app envío a través de un pulsador un estado en alto para sumar un valor a una variable, que lo puedo realizar con exito el problema es que en vez de sumar de a uno realiza la accion varias veces y poniendo un delay no consigo corregirlo. Les adjunto una parte del codigo
if (virtuino.vDigitalMemoryRead(10)==1){ //SI EL PVD 10 ES IGUAL A 1...
delay(25); //ESPERO 25 MILISEGUNDOS (PARA EVITAR REBOTES)
SLIDER1++; //SUMAR 1 A SLIDER1
}else if (virtuino.vDigitalMemoryRead(11)==1){ //SI EL PVD 11 ES IGUAL A 1...
delay(25); //ESPERO 25 MILISEGUNDOS (PARA EVITAR REBOTES)
SLIDER1--; //RESTAR 1 A SLIDER1
}
if (virtuino.vDigitalMemoryRead(12)==1){ //SI EL PVD 12 ES IGUAL A 1...
delay(25); //ESPERO 25 MILISEGUNDOS (PARA EVITAR REBOTES)
SLIDER2++; //SUMAR 1 A SLIDER2
}else if (virtuino.vDigitalMemoryRead(13)==1){ //SI EL PVD 13 ES IGUAL A 1...
delay(25); //ESPERO 25 MILISEGUNDOS (PARA EVITAR REBOTES)
SLIDER2--; //RESTAR 1 A SLIDER2
}
Despues intente con otro tipo de funcion pero obtuve los mismos resultados
switch (virtuino.vDigitalMemoryRead(10)){ //LEO ESTADO DE PVD 10
case 1: //SI ES IGUAL A 1
SLIDER1++; //SUMAR 1 A SLIDER1
break; //SALIR DEL BUCLE
}
switch (virtuino.vDigitalMemoryRead(11)){ //LEO ESTADO DE PVD 11
case 1: //SI ES IGUAL A 1
SLIDER1--; //RESTAR 1 A SLIDER1
break; //SALIR DEL BUCLE
}
switch (virtuino.vDigitalMemoryRead(12)){ //LEO ESTADO DE PVD 12
case 1: //SI ES IGUAL A 1
SLIDER2++; //SUMAR 1 A SLIDER2
break; //SALIR DEL BUCLE
}
switch (virtuino.vDigitalMemoryRead(13)){ //LEO ESTADO DE PVD 13
case 1: //SI ES IGUAL A 1
SLIDER2--; //RESTAR 1 A SLIDER2
break; //SALIR DEL BUCLE
}
Espero puedan ayudarme, gracias.