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
// 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
}
}
Hola, muy buena explicación. pero quiero preguntarte algo...es que quiero hacer que con cada botón se controle un bucle del servo, ose si aprieto boton 1 que el servo gire de 45° a 180° y de nuevo a 45° infinitamente y si aprieto el segundo boton de 45° a 90° y así, no se si me puedas ayudar. De ante mano gracias! Mi correo es: elquiquin400@hotmail.com
ResponderEliminarHola Julia soy nuevo en esto haber si me puedes ayudar.
ResponderEliminarQuiero hacer servir los servomotores para controlar los desvios en una maqueta de tren mediante pulsador puedes ayudarme. Mandame un gmail a josepmanelgil3@gmail.com
Julia, me gusto tutorial en youtube. Muy simple de entender. Solo tengo una pregunta. Como modificas el codigo si es que quieres que el servo rote completamente de zero a, por ejemplo, 180 grados presionando el boton una vez sin tener que mantenerlo presionado (momentary push button), e igualmente, para regresar a su posicion inicial (de 180 a zero) presionando una sola vez (sin mantener la presion) un segundo boton. El codigo que muestras permite rotar el servo mientras el boton es presionado unicamente.
ResponderEliminarGracias.
Leo
Buenas Leo,
Eliminarla solución (creo) puede estar en utilizar un condicional if y a su vez crear un contador. Tengo un tutorial que explica esto último: https://www.youtube.com/watch?v=A0KBrBC-434
Lo bueno del contador es que, como bien dices, no hay que mantener pulsado el botón.
No dudes en preguntarme cualquier otra cosa.
Un saludo,
Julia
Julia, me gusto tutorial en youtube. Muy simple de entender. Solo tengo una pregunta. Como modificas el codigo si es que quieres que el servo rote completamente de zero a, por ejemplo, 180 grados presionando el boton una vez sin tener que mantenerlo presionado (momentary push button), e igualmente, para regresar a su posicion inicial (de 180 a zero) presionando una sola vez (sin mantener la presion) un segundo boton. El codigo que muestras permite rotar el servo mientras el boton es presionado unicamente.
ResponderEliminarGracias.
Leo