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.
#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);
}
}