This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
ayuda con mi programa de arduino!!
#1
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
}
}
}
}
  Responder
#2
Si has conseguido mover un servo. Para mover cinco servos, tan solo tienes que duplicar cinco veces el mismo código con sus nuevas variables para cada servo, tanto de botones como de servos.

Intenta lo con dos primero, te resultara mas fácil.

Recuerda de poner las variables fuera del void y loop y también dentro de ellas.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
Triste DUDA Error compilando para la tarjeta Arduino/Genuino Uno. Necesito ayuda siro7 9 4,836 28-04-2019, 02:22 PM
Último mensaje: siro7
  DUDA Ayuda con programa Girarrelojes con motor paso a paso 28BYJ-48 y ULN2003 Alvaro Braca 7 3,128 30-10-2018, 06:25 AM
Último mensaje: edu_v
  Ayuda con drivers arduino msa 32 17,808 28-03-2018, 10:37 AM
Último mensaje: superkuko
  ayuda en coneccion de java con arduino claudiohnavarro 0 1,190 26-04-2017, 07:02 PM
Último mensaje: claudiohnavarro
  Cómo se programa este Arduino? cybero 7 2,879 02-01-2017, 06:41 PM
Último mensaje: daniez