diff --git a/StepperTest/StepperTest.ino b/StepperTest/StepperTest.ino new file mode 100644 index 0000000..355e5e8 --- /dev/null +++ b/StepperTest/StepperTest.ino @@ -0,0 +1,36 @@ +/*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); +}