const int stepPin = 14; const int dirPin = 12; int customDelay,customDelayMapped; // Defines variables void setup() { // Sets the two pins as Outputs Serial.begin(115200); pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT); digitalWrite(dirPin,HIGH); //Enables the motor to move in a particular direction } void loop() { customDelayMapped = speedUp(); // Gets custom delay values from the custom speedUp function // Makes pules with custom delay, depending on the Potentiometer, from which the speed of the motor depends digitalWrite(stepPin, HIGH); delayMicroseconds(customDelayMapped); digitalWrite(stepPin, LOW); delayMicroseconds(customDelayMapped); Serial.println(customDelayMapped); } // Function for reading the Potentiometer int speedUp() { int customDelay = analogRead(6); // Reads the potentiometer int newCustom = map(customDelay, 0, 8191, 300,3000); // Convrests the read values of the potentiometer from 0 to 1023 into desireded delay values (300 to 4000) return newCustom; }