SERVOMOTOR no deja de girar

Hola amigos, un gusto. Soy nuevo en este mundo de arduino y tengo un problema. Tengo un Sketch super simple en el cual el servo motor debe girar en 90 grados al pulsar un botón y al pulsar nuevamente este se devuelve a posición 0 (mismo funcionamiento de una barrera de peaje o estacionamiento). Al probar en tinkercad funciona perfecto, pero al hacerlo yo con mi Arduino uno y mi servomotor SG90 no funciona. Al presionar el botón lo único que logro es que este comience a girar sin parar y al volver a presionar el botón este se detenga, y no logro que este gire solo 90 grados y al presionar nuevamente este se devuelva a posición 0, qué podré estar haciendo mal? Les dejo el Sketch y el diagrama de conexión, muchas gracias.
image

#include <Servo.h>

Servo motor;

int valor, valor_antiguo, estado;
int pulsador = 4;
int led = 7;

void setup() {

  motor.attach(6);
  Serial.begin(9600);
  pinMode(pulsador,INPUT);
}

void loop() {

  valor = digitalRead(pulsador);
  if((valor==HIGH)&&(valor_antiguo==LOW)){
    estado = 1 - estado;
    delay(20);
    }
  valor_antiguo = valor;
  Serial.println(estado);

  //subir la palanca
  if(estado==1){
    motor.write(90);    
    }
  //bajar la palanca
  if(estado==0){
    motor.write(0);    
    }
}
2 Likes

Si no se para en los 90º ese es un servo de los llamados 360º o de giro continuo, deberas conseguir uno normal.
Cuando le ordenas 90 se para , al ordenarle 0 es la máxima velocidad en un sentido, ordénale 180 y si tengo razón girara en el otro sentido.
Saludos

2 Likes

No voy a aportar al problema pero quiero hacer notar algo que no vemos muy a menudo.

Primera publicación hecha en la sección correcta, bien explicado el problema, con el esquema de conexiones y el código posteado como corresponde.

@elfuica :clap:t2: :clap:t2: :clap:t2:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.