Buenas tardes, estoy desarrollando un codigo en Arduino UNO, y tengo un problema que estoy intentado solucionar pero no lo consigo, es el siguiente:
estoy intentando desallorar un MENU, pero a la hora de ejecutar el codigo y abrir el monitor Serial, el mensaje me aparece ciclicamente, es decir, no soy capaz de hacer que el programa se que esperando a que teclee una de las opciones.Es decir, que me aparezca el MENU una sola vez, si no que me aparece constantemente.
Les incluyo la parte del codigo donde creo que hay que modificar algo, pero no ha sido capaz de encontrar ningun ejemplo en la web:
Serial.println("para calibrar las celdas pulse 1, 2, 3 o 4:");
char temp=Serial.read();
if(Serial.available())
{
char temp2;
////// entramos en la calibracion de la celda 1///////
if(temp == '1')
{
Serial.println("calibrando celda 1:");
e='1';
while(e!='0')
{
if(Serial.available())
{
Serial.print("\t leyendo celda 1:");
Serial.print(celda1.get_units(), 1);
Serial.print(" gramos"); //Cambie esta a kg y volver a ajustar el factor de calibración si se siguen las unidades del SI como una persona sana
Serial.print(" || factor de calibracion: ");
Serial.println(calibration_factor1);
Serial.println("para guardar el factor pulse Y:");
Serial.println(" para salir pulse 0");
temp2= Serial.read();
if(temp2 == '+')
calibration_factor1 += 1;
else if(temp2 == '-')
calibration_factor1 -= 1;
else if(temp2 == '0') //para salir del bucle while///
{
e='0';
}
else if(temp2 == 'y' || temp2 == 'Y')
{
EEPROMWritelong(direccion_celda1, calibration_factor1); //Guardar valor en EEPROM interna
//direccion += 4;
Serial.println("factor guardado:");
factor1=(EEPROMReadlong(0));
Serial.println(factor1);
}
}
delay(1000);
}
Serial.flush();
}