// defines pins
#define DIR 3
#define PUL 4
#define SW_L 5
#define SW_R 6
#define Relay 11

int customDelay, customDelayMapped;
int rt = 1000;

void setup() {
  // Sets the two pins as Outputs
  pinMode(PUL, OUTPUT);
  pinMode(DIR, OUTPUT);
  pinMode(Relay, OUTPUT);
  digitalWrite(Relay, LOW);
}
void loop() {
  speedControl();
  if(digitalRead(SW_L) == 0)
  {
  digitalWrite(Relay, HIGH);
  delayMicroseconds(rt);
  digitalWrite(DIR, HIGH);
  digitalWrite(PUL, HIGH);
  delayMicroseconds(customDelayMapped);
  digitalWrite(PUL, LOW);
  delayMicroseconds(customDelayMapped);
  }
  if(digitalRead(SW_L) != 0)
  {
    delayMicroseconds(rt);
  digitalWrite(Relay, LOW);
  }

  if(digitalRead(SW_R) == 0)
  {
  digitalWrite(Relay, HIGH);
  delayMicroseconds(rt);
  digitalWrite(DIR, LOW);
  digitalWrite(PUL, HIGH);
  delayMicroseconds(customDelayMapped);
  digitalWrite(PUL, LOW);
  delayMicroseconds(customDelayMapped);
  }
  if(digitalRead(SW_R) != 0)
  {
    delayMicroseconds(rt);
  digitalWrite(Relay, LOW);
  }
}
// Custom function for reading the potentiometer and mapping its value from 300 to 3000, suitable for the custom delay value in microseconds
void speedControl() {
  customDelay = analogRead(A0); // Read the potentiometer value
  customDelayMapped = map(customDelay, 0, 1023, 3000, 0); // Convert the analog input from 0 to 1024, to 300 to 3000
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
pot1:GND
pot1:SIG
pot1:VCC
A4988
drv1:ENABLE
drv1:MS1
drv1:MS2
drv1:MS3
drv1:RESET
drv1:SLEEP
drv1:STEP
drv1:DIR
drv1:GND.1
drv1:VDD
drv1:1B
drv1:1A
drv1:2A
drv1:2B
drv1:GND.2
drv1:VMOT
stepper1:A-
stepper1:A+
stepper1:B+
stepper1:B-
sw1:1a
sw1:2a
sw1:3a
sw1:4a
sw1:5a
sw1:6a
sw1:7a
sw1:8a
sw1:8b
sw1:7b
sw1:6b
sw1:5b
sw1:4b
sw1:3b
sw1:2b
sw1:1b
gnd1:GND
vcc1:VCC
r1:1
r1:2
r2:1
r2:2
relay3:NO2
relay3:NC2
relay3:P2
relay3:COIL2
relay3:NO1
relay3:NC1
relay3:P1
relay3:COIL1
led1:A
led1:C
r3:1
r3:2