Bueno.. aquí va, y para el que le sirva!
Funcionando perfectamente!!
La historia estaba en esta linea que había que poner para vaciar el buffer serie:
while (Serial.available()>0) Serial.read();
ahí va un código ejemplo que espero que os sirva!!
int incomingByte=0;
void setup(){
Serial.begin(115200);
delay(2500);
}
void loop(){
incomingByte=0;
Serial.println ("Elija opcion");
Serial.println ("1");
Serial.println("2");
Serial.println("");
while (incomingByte<49 || incomingByte>50){
incomingByte=Serial.read();
}
Serial.print ("Ha elegido la opcion ");
Serial.println (incomingByte-48);
Serial.println("");
Serial.println ("Elija otra de estas opciones:");
while (Serial.available()>0) Serial.read();
Serial.println ("1 - opcion 1");
Serial.println ("2 - opcion 2");
Serial.println ("3 - opcion 3");
incomingByte=0;
while (incomingByte<49 || incomingByte>51){
incomingByte=Serial.read();
}
if (incomingByte==49){
Serial.println ("Estas en la opcion 1");
delay(3000);
}
if (incomingByte==50){
Serial.println ("Estas en la opcion 2");
delay(3000);
}
if (incomingByte==51){
Serial.println ("Estas en la opcion 3");
delay(3000);
}
}