#include <AccelStepper.h>
// Define pin connections
const int dirPin = 8;
const int stepPin = 9;
// Define motor interface type
#define motorInterfaceType 1
// Creates an instance
//AccelStepper myStepper(motorInterfaceType, stepPin, dirPin);
AccelStepper myStepper(1, 9, 8);
const int stepsPerRevolution = 200;
int pos=1000;
void setup() {
// set the maximum speed, acceleration factor,
// initial speed and the target position
myStepper.setMaxSpeed(1000);
myStepper.setAcceleration(25);
myStepper.setSpeed(20 );
// myStepper.moveTo(200);
}
void loop() {
//digitalWrite(2, HIGH);
if (digitalRead(3)==HIGH){
//digitalWrite(13,LOW);
// Set the target position:
myStepper.moveTo(-800);
// Run to target position with set speed and acceleration/deceleration:
myStepper.runToPosition();
}
if (digitalRead(4)==HIGH){
if(digitalRead(2)==LOW){
// myStepper.setCurrentPosition(0);
digitalWrite(2, HIGH);
}
}
if (myStepper.distanceToGo() == 0)
{
delay(500);
pos = -pos;
myStepper.moveTo(pos);
}
while (digitalRead(2)==HIGH){
myStepper.setSpeed(0);
myStepper.setCurrentPosition(0);
//myStepper.stop();
} myStepper.run();
}