#include <AccelStepper.h>
// Define los pines de control del motor A
const int pinStepA = 9;
const int pinDirA = 8;
// Define los pines de control del motor B
const int pinStepB = 6;
const int pinDirB = 7;
// Define el pin del botón A
const int botonA = 11;
// Crea instancias de AccelStepper para ambos motores
AccelStepper stepperA(AccelStepper::DRIVER, pinStepA, pinDirA);
AccelStepper stepperB(AccelStepper::DRIVER, pinStepB, pinDirB);
void setup()
{
pinMode(botonA, INPUT_PULLUP);
// Configura la velocidad y otras opciones para el motor A
stepperA.setMaxSpeed(1000.0);
stepperA.setAcceleration(500.0);
// Configura la velocidad y otras opciones para el motor B
stepperB.setMaxSpeed(1000.0);
stepperB.setAcceleration(500.0);
}
void loop()
{
// Verifica si el número actual de Piezas es menor que el límite
if (digitalRead(botonA) == LOW)
{
// Gira el motor A en una dirección
stepperA.moveTo(2000);
stepperA.runToPosition();
delay(500); // Espera medio segundo
// Gira el motor A en la dirección opuesta
stepperA.moveTo(0);
stepperA.runToPosition();
delay(500); // Espera medio segundo
}
else
{
// Si se alcanza el número deseado de Piezas, detiene ambos motores
stepperA.stop();
stepperB.stop();
// Puedes agregar más lógica si es necesario después de detener ambos motores
}
}