Hola, es la primera vez que trabajo con arduino y estoy trabajando en un proyecto y necesito controlar un servo con dos botones pulsadores, la posición inicial sera 0° y al accionar el primero el servo deberá moverse a 45° y al presionar el segundo, este deberá regresar a los 0°.
He estado viendo varios tutoriales de servos controlados por dos botones y los hago tal cual pero no consigo hacer que el servo se mueva cuando se pulsa un boton y el motor se la pasa vibrando. No se si sea por que el programa este mal o por que el voltaje no sea el suficiente (el que suministra la computadora) y quisiera preguntar si alguien sabe que estoy haciendo mal.
Este es el programa que subi al arduino:
#include <Servo.h> // Librería para servos
Servo servo1; // Creamos un objeto de tipo servo
#define button 9 // definimos un primer botón
#define button2 7 // definimos un segundo botón
// Si da problemas el código, poner las var de los botones en MAYUS
void setup() {
servo1.attach(8); // pin del servomotor en Arduino
pinMode(button, INPUT); // se declara el botón como componente de entrada
pinMode(button2, INPUT); // se declara el otro botón como componente de entrada
}
void loop () {
int buttonstate1 = digitalRead(button); // Creamos dos estados para los dos botones
int buttonstate2 = digitalRead(button2);
if(buttonstate1 == true){ //si el estado del primer botón es true o encendido (pulsado), entonces...
servo1.write(180); // mover el servomotor 180 grados
delay(1000); // esperamos un segundo
}
if(buttonstate2 == true){ // si el estado del segundo botón es true o encendido (pulsado), entonces...
servo1.write(90); //mover el servomotor 90 grados
delay(1000); // esperamos un segundo
}
}