/*Example sketch to control a stepper motor with DRV8825 stepper motor driver, AccelStepper library and Arduino: number of steps or revolutions. More info: https://www.makerguides.com */ // Include the AccelStepper library: #include // Define stepper motor connections and motor interface type. Motor interface type must be set to 1 when using a driver: #define dirPin 2 #define stepPin 3 #define motorInterfaceType 1 #define microStepsFactor 4 // Create a new instance of the AccelStepper class: AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin); int dir = 1; void setup() { // Set the maximum speed in steps per second: stepper.setMaxSpeed(1000*microStepsFactor); } void loop() { // Set the current position to 0: stepper.setCurrentPosition(0); int revs = random(1,5); dir = -dir; // Run the motor forward at 200 steps/second until the motor reaches 400 steps (2 revolutions): while(stepper.currentPosition() != 200 * microStepsFactor * revs * dir) { stepper.setSpeed(1000 * microStepsFactor * dir); stepper.runSpeed(); } delay(200); }