!Ayuda! Se escribe ángulo 0 a mi servo

Buenas tardes, soy nuevo en este foro y en arduino en general.

Estoy empezando a programar y a utilizar los servomotores.

El problema que tengo es que al arrancar el programa solicito el ángulo para escribirlo en el servomotor y esto lo hace bien, pero al terminar el delay el ángulo se va a 0 y me imprime 2 veces la pregunta del ángulo, por lo que entiendo al no escribir nada en el serial ¿no debería de hacer nada no?

El código que estoy usando es el siguiente:

#include <Servo.h> 

Servo myservo;  //creamos un objeto servo 
int angulo;

void setup(){
  myservo.attach(6);  // asignamos el pin 3 al servo.
  Serial.begin(9600); // iniciamos el puerto serial
}

 
void loop() { 
  
  Serial.print("que ángulo quieres?");
  while (Serial.available()==0){
    
  }
  angulo=Serial.parseInt();
  myservo.write(angulo);
  delay(100);
} 

Agradezco mucho la ayuda.

!Saludos!

Serial.parseint(); toma el ángulo, pero hay un CR/LF adicional sin valor de ángulo, y eso es lo que hace que el servo llegue a cero. Agregue esto después de Serial.parseint();

  angulo=Serial.parseInt(); // obtener angulo
  char nada = Serial.read(); // eliminar CRLF
2 Likes

Moderador
Por favor lee el privado que te he enviado.