#define BTN_PIN 2
byte directionPin = 8;
byte stepPin = 9;
int numberOfSteps = 3200;
byte ledPin = LED_BUILTIN;
int pulseWidthMicros = 20;
int millisbetweenSteps = 500;
void setup() {
Serial.begin(9600);
Serial.println("Starting StepperTest");
Serial.println("Click Red Button");
digitalWrite(ledPin, LOW);
pinMode(directionPin, OUTPUT);
pinMode(stepPin, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(BTN_PIN, INPUT_PULLUP);
// MS1
digitalWrite(11, HIGH);
// MS2
digitalWrite(12, HIGH);
// MS3
digitalWrite(13, HIGH);
}
void loop() {
if (digitalRead(BTN_PIN) == LOW) {
digitalWrite(directionPin, HIGH);
for (int n = 0; n < numberOfSteps; n++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(pulseWidthMicros);
digitalWrite(stepPin, LOW);
delayMicroseconds(millisbetweenSteps);
digitalWrite(ledPin, !digitalRead(ledPin));
}
delay(1000);
digitalWrite(directionPin, LOW);
for (int n = 0; n < numberOfSteps; n++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(pulseWidthMicros);
digitalWrite(stepPin, LOW);
delayMicroseconds(millisbetweenSteps);
digitalWrite(ledPin, !digitalRead(ledPin));
}
}
}