// Include the AccelStepper Library #include // Define step constant #define MotorInterfaceType 4 int sl1 = A0; int sl2 = A1; int sl3 = A2; long int time1; long int time2; // Creates an instance // Pins entered in sequence IN1-IN3-IN2-IN4 for proper step sequence AccelStepper stepper1(MotorInterfaceType, 9, 11, 10, 12); AccelStepper stepper2(MotorInterfaceType, 5, 7, 6, 8); AccelStepper stepper3(MotorInterfaceType, 1, 3, 2, 4); void setup() { // set the maximum speed, acceleration factor, // initial speed and the target position stepper1.setMaxSpeed(1500.0); // stepper1.setAcceleration(50.0); stepper1.setSpeed(500); // stepper1.moveTo(2038 * 500); stepper2.setMaxSpeed(1500.0); // stepper2.setAcceleration(50.0); stepper2.setSpeed(-600); // stepper2.moveTo(2038 * 500); stepper3.setMaxSpeed(1500.0); // stepper3.setAcceleration(50.0); stepper3.setSpeed(600); // stepper3.moveTo(2038 * 500); pinMode(sl1, INPUT); pinMode(sl2, INPUT); pinMode(sl3, INPUT); Serial.begin(9600); time1 = 0; time2 = 0; } void loop() { // Change direction once the motor reaches target position // if (stepper1.distanceToGo() == 0) // { stepper1.moveTo(-stepper1.currentPosition()); // } // // Move the motor one step // stepper1.run(); // // if (stepper2.distanceToGo() == 0) // { stepper2.moveTo(-stepper2.currentPosition()); // } // // Move the motor one step // stepper2.run(); // // if (stepper3.distanceToGo() == 0) // { stepper3.moveTo(-stepper3.currentPosition()); // } // // Move the motor one step // stepper3.run(); time1 = millis(); stepper1.runSpeed(); stepper2.runSpeed(); stepper3.runSpeed(); if (time1 - time2 >= 1000) { int a1 = analogRead(sl1); int a2 = analogRead(sl2); int a3 = analogRead(sl3); int s1 = map(a1, 0, 1024, -600, 600); int s2 = map(a2, 0, 1024, -600, 600); int s3 = map(a3, 0, 1024, -600, 600); Serial.print(a1); Serial.print(" "); Serial.print(a2); Serial.print(" "); Serial.println(a3); stepper1.setSpeed(s1); stepper2.setSpeed(s2); stepper3.setSpeed(s3); time2 = millis(); Serial.println("set"); } }