#define STEP_PIN 3 #define DIR_PIN 4 #define D_PIN A5 uint8_t d = 0; // delay bool dir = false; // direction void setup() { // pin setup pinMode(STEP_PIN, OUTPUT); pinMode(DIR_PIN, OUTPUT); digitalWrite(STEP_PIN, LOW); } void loop() { // read potentiometer to set the delay d = map(analogRead(D_PIN), 0, 1023, 1, 20); // change direction dir = !dir; digitalWrite(DIR_PIN, dir); // It do a revolution for (int i = 0; i < 6400; i++) { digitalWrite(STEP_PIN, HIGH); digitalWrite(STEP_PIN, LOW); delay(d); } }