24-07-2014, 12:46 AM
Hola, tengo unas dudas con el programa arduino.
Mi objetivo es controlar 5 servomotores con un botón cada uno.
solo he logrado mover un servomotor con un botón.
aquí esta el código para que le den una checada..
#include <Servo.h>
const int servoPin = 3; //Pin del servo 1
const int buttonPin = 2; //Pin del Boton 1
int buttonState = 0; //Variable para leer el estado del pulsador
int directionState = 0; //Variable para leer la dirección del servo 1
Servo myservo; //Crear el objeto servo para controlar el servo
int pos = 0; //Variable para almacenar la posición del servo
void setup(){
myservo.attach(3); //Conectar servo al pin 3
pinMode(buttonPin, INPUT); //Iniciar pin del boton como entrada
}
void loop(){
//lee el estado del valor del boton
buttonState = digitalRead(buttonPin);
if (directionState == 0){
//boton presionado
if(buttonState == HIGH) {
directionState = 1; //la direccion del servo es a la derecha
//va desde 0 grados a 180 grados en pasos de 1 grado
for(pos = 0; pos < 180; pos=pos+1)
{
myservo.write(pos); //Dice al servo que valla a la posicion de la variable ¨pos¨
delay(15); // espera 15ms para que el servo llegue a su posición
}
}
} else if (directionState == 1) {
// boton presionado
if (buttonState == HIGH) {
directionState = 0; // la dirección del servo es a la izquierda
// va de 180 grados a 0 grados en pasos de 1 grado
for(pos = 180; pos>=1; pos=pos-1)
{
myservo.write(pos); //dice al servo que valla a la posición de la variable ¨pos¨
delay(15); //Espera 15ms para que el servo llegue a su posición
}
}
}
}
Mi objetivo es controlar 5 servomotores con un botón cada uno.
solo he logrado mover un servomotor con un botón.
aquí esta el código para que le den una checada..
#include <Servo.h>
const int servoPin = 3; //Pin del servo 1
const int buttonPin = 2; //Pin del Boton 1
int buttonState = 0; //Variable para leer el estado del pulsador
int directionState = 0; //Variable para leer la dirección del servo 1
Servo myservo; //Crear el objeto servo para controlar el servo
int pos = 0; //Variable para almacenar la posición del servo
void setup(){
myservo.attach(3); //Conectar servo al pin 3
pinMode(buttonPin, INPUT); //Iniciar pin del boton como entrada
}
void loop(){
//lee el estado del valor del boton
buttonState = digitalRead(buttonPin);
if (directionState == 0){
//boton presionado
if(buttonState == HIGH) {
directionState = 1; //la direccion del servo es a la derecha
//va desde 0 grados a 180 grados en pasos de 1 grado
for(pos = 0; pos < 180; pos=pos+1)
{
myservo.write(pos); //Dice al servo que valla a la posicion de la variable ¨pos¨
delay(15); // espera 15ms para que el servo llegue a su posición
}
}
} else if (directionState == 1) {
// boton presionado
if (buttonState == HIGH) {
directionState = 0; // la dirección del servo es a la izquierda
// va de 180 grados a 0 grados en pasos de 1 grado
for(pos = 180; pos>=1; pos=pos-1)
{
myservo.write(pos); //dice al servo que valla a la posición de la variable ¨pos¨
delay(15); //Espera 15ms para que el servo llegue a su posición
}
}
}
}