#define DIR_PIN 2
#define STEP_PIN 3
#define STEPS_PER_REV 200
#define FORWARD_DELAY 5
#define REVERSE_DELAY 2
#define PAUSE_BETWEEN 500
void setup() {
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
digitalWrite(STEP_PIN, LOW);
}
void loop() {
digitalWrite(DIR_PIN, HIGH);
rotateStepper(STEPS_PER_REV, FORWARD_DELAY);
delay(PAUSE_BETWEEN);
digitalWrite(DIR_PIN, LOW);
rotateStepper(STEPS_PER_REV, REVERSE_DELAY);
delay(PAUSE_BETWEEN);
}
void rotateStepper(int steps, int stepDelay) {
for (int i = 0; i < steps; i++) {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(stepDelay * 1000);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(stepDelay * 1000);
}
}