soy adulto mayor y estoy tratando de aprender arduino...estoy haciendo un brazo robotico...la base la controla un motor paso a paso unipolar de 5 hilos controlado por 2 botones que funcionan bien...necesito ayuda para agregar 3 servos para controlar las demas secciones del brazo.. estos servos quiero controlarlos con dos botones cada uno.....el codigo que tengo es:
int pulsador = 0;
int entrada = 2;
int pulsador1 = 0;
int entrada1 = 3;
int motorPin1 = 8; // Pines del Motor 8,9,10,11
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime1 = 5; // delayTime1 determina la velocidad de giro entre uno y otro paso
void setup() {
pinMode(entrada, INPUT); // Pin del botón izquierdo
pinMode(entrada1, INPUT); // Pin del botón derecho
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
// Botón izquierdo - Gira hacia la izquierda
pulsador = digitalRead(entrada);
if (pulsador == LOW) {
// Mueve el motor hacia la izquierda
Serial.println("Botón izquierdo presionado");
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime1);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime1);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);
}
// Botón derecho - Gira hacia la derecha
pulsador1 = digitalRead(entrada1);
if (pulsador1 == LOW) {
// Mueve el motor hacia la derecha
Serial.println("Botón derecho presionado");
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime1);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime1);
}
}
Muy agradecido
Editado por Moderador