Buenas, resumiendo bastante lo que quiero hacer...
Tengo un Mega con una serie de instrucciones, entre ellas un rotary encoder que me sirve para lanzar por serial un texto u otro, según si giro hacia un lado u otro.
aVal = digitalRead(pinA); //Volvemos a leer el pinA
if (aVal != pinALast){ //Si el valor leído es distinto al valor anterior, entonces hemos girado el encoder
if (digitalRead(pinB) != aVal) { // Si el pinB es distinto del pinA, rotamos en sentido horario
sentido = true;
} else { // En caso contrario, rotamos en sentido Antihorario
sentido = false;
}
if (sentido){
Serial.println(selectora);
}else{
Serial.println(selectorb);
}
}
pinALast = aVal;
lo que envía, como veis, es una variable, selectora o selectorb dependiendo de si rota a izquierda o derecha.
El problema viene cuando quiero ver por lcd la variable que estoy enviando con el rotary. si pongo en el código un lcd.print para que me envíe al lcd la variable con cada pulso que emite el rotary, entonces deja de funcionar bien, y envia aleatoriamente las variables sin tener en cuenta la dirección del giro.
Tengo los serial declarados arriba
Serial.begin (115200); //Iniciamos la comunciación Serial USB
Serial1.begin (115200); //Iniciamos la comunicación Serial para el LCD
He probado a poner diferentes valores de Baudios, pero sigue sin funcionar.