int Asteppin = 0; int Adirpin = 1; int Bsteppin = 2; int Bdirpin = 3; int Csteppin = 4; int Cdirpin = 5; int Dsteppin = 14; int Ddirpin = 15; int stepdelay = 1000; void setup() { pinMode(Asteppin, OUTPUT); pinMode(Adirpin, OUTPUT); pinMode(Bsteppin, OUTPUT); pinMode(Bdirpin, OUTPUT); pinMode(Csteppin, OUTPUT); pinMode(Cdirpin, OUTPUT); pinMode(Dsteppin, OUTPUT); pinMode(Ddirpin, OUTPUT); Serial.begin(9600); } void loop() { int val = analogRead(16); Serial.println(val); if(val<400) { digitalWrite(Adirpin, LOW); digitalWrite(Bdirpin, LOW); digitalWrite(Cdirpin, LOW); digitalWrite(Ddirpin, LOW);//direction pin either LOW or HIGH to move in either direction. digitalWrite(Asteppin, HIGH); digitalWrite(Bsteppin, HIGH); digitalWrite(Csteppin, HIGH); digitalWrite(Dsteppin, HIGH); delayMicroseconds(stepdelay); digitalWrite(Asteppin, LOW); digitalWrite(Bsteppin, LOW); digitalWrite(Csteppin, LOW); digitalWrite(Dsteppin, LOW); delayMicroseconds(stepdelay); }else if(val>600) { digitalWrite(Adirpin, HIGH); digitalWrite(Bdirpin, HIGH); digitalWrite(Cdirpin, HIGH); digitalWrite(Ddirpin, HIGH); digitalWrite(Asteppin, HIGH); digitalWrite(Bsteppin, HIGH); digitalWrite(Csteppin, HIGH); digitalWrite(Dsteppin, HIGH); delayMicroseconds(stepdelay); digitalWrite(Asteppin, LOW); digitalWrite(Bsteppin, LOW); digitalWrite(Csteppin, LOW); digitalWrite(Dsteppin, LOW); delayMicroseconds(stepdelay); }else{ digitalWrite(Adirpin, LOW); digitalWrite(Bdirpin, LOW); digitalWrite(Cdirpin, LOW); digitalWrite(Ddirpin, LOW); digitalWrite(Asteppin, HIGH); digitalWrite(Bsteppin, HIGH); digitalWrite(Csteppin, HIGH); digitalWrite(Dsteppin, HIGH); delayMicroseconds(stepdelay); digitalWrite(Asteppin, HIGH); digitalWrite(Bsteppin, HIGH); digitalWrite(Csteppin, HIGH); digitalWrite(Dsteppin, HIGH); delayMicroseconds(stepdelay); } } /* /if(500