#include <AccelStepper.h>
#include <MultiStepper.h>
// EG X-Y position bed driven by 2 steppers
// Alas its not possible to build an array of these with different pins for each :-(
/*const uint8_t dir = 2, step = 3, sleep = 7, ms1 = 6, ms2 = 5, ms3 = 4;
const uint8_t step[];
const uint8_t dir[];*/
const uint8_t en[] = {38, A2, A8, 24, 30};
float nSteps = 0.0f;
AccelStepper stepper1(AccelStepper::FULL2WIRE, 54, 55);
AccelStepper stepper2(AccelStepper::FULL2WIRE, 60, 61);
//a4988 driver(ms1, ms2, ms3, sleep, 54, 55, 38);
// Up to 10 steppers can be handled as a group by MultiStepper
MultiStepper steppers;
void setup() {
// Configure each stepper
stepper1.setMaxSpeed(1000);
stepper2.setMaxSpeed(1000);
// Then give them to MultiStepper to manage
steppers.addStepper(stepper1);
steppers.addStepper(stepper2);
pinMode(13, OUTPUT);
//Habilitando
for(int i = 0; i < (int)sizeof(en); i++){
pinMode(en[i], OUTPUT);
digitalWrite(en[i], LOW);
}
digitalWrite(13, HIGH);
Serial.begin(115200);
}
void loop() {
long positions[2]; // Array of desired stepper positions
positions[0] = 1000;
positions[1] = 50;
steppers.moveTo(positions);
steppers.runSpeedToPosition(); // Blocks until all are in position
delay(1000);
// Move to a different coordinate
positions[0] = -100;
positions[1] = 100;
steppers.moveTo(positions);
steppers.runSpeedToPosition(); // Blocks until all are in position
delay(1000);
}