#include <Arduino.h>
#include <AccelStepper.h>
#include <Encoder.h>
// Definir los pines para el controlador A4988
#define STEP_PIN 3
#define DIR_PIN 2
#define ENABLE_PIN 4
// Definir los pines para el rotary encoder
#define CLK 15
#define DT 16
#define SW 17
// Inicializar el motor paso a paso
AccelStepper stepper(AccelStepper::DRIVER, STEP_PIN, DIR_PIN);
// Inicializar el encoder
Encoder encoder(CLK, DT);
void setup() {
// Establecer la velocidad y aceleración del motor
stepper.setMaxSpeed(1000); // Ajusta la velocidad según tus necesidades
stepper.setAcceleration(500); // Ajusta la aceleración según tus necesidades
// Configurar los pines del controlador A4988
pinMode(ENABLE_PIN, OUTPUT);
digitalWrite(ENABLE_PIN, LOW); // Habilitar el controlador (LOW = habilitado)
}
void loop() {
// Leer el valor actual del encoder
long encoderValue = encoder.read();
// Configurar la velocidad del motor en función del giro del encoder
stepper.setSpeed(encoderValue);
// Mover el motor paso a paso
stepper.runSpeed();
}