Hello, I need some help with this code. I am trying to use accelStepper to run multiple steppers at the same time and uses the serial monitor to determine the steps for each stepper. I also have a problem with imputing a large value of steps like the number 1000000. The code is below and I have added another block of code that works, but does not have the user input that I'm trying to do for the steps.Thank you.
-WilliamN
accelStepper URL accelStepper
#include <MultiStepper.h>
#include <AccelStepper.h>
//Stepper pins
AccelStepper stepperX(AccelStepper::DRIVER, 3, 5);
AccelStepper stepperZ(AccelStepper::DRIVER, 6, 9);
String in;
int myNumber = 0;
int val;
int motor1_steps = 0;
int motor2_steps = 0;
char c;
String Command;
void setup()
{
Serial.begin(115200);
stepperX.setMaxSpeed(1417.0);
stepperX.setAcceleration(500.0);
stepperZ.setMaxSpeed(1417.0);
stepperZ.setAcceleration(500.0);
}
void loop(){
//if (stepperX.isRunning()== false && stepperZ.isRunning()== false){
Serial.println(stepperX.isRunning());
Serial.println(stepperZ.isRunning());
Serial.println("Imput# xSteps");
while(!Serial.available());
in=Serial.readStringUntil('\n');
if(in!="")
motor1_steps=in.toInt();
Serial.println(motor1_steps);
stepperX.moveTo(motor1_steps);
Serial.println("Imput# zSteps");
while(!Serial.available());
in=Serial.readStringUntil('\n');
if(in!="")
motor2_steps=in.toInt();
Serial.println(motor2_steps);
stepperZ.moveTo(motor2_steps);
RunStepper();
Serial.println("DONE");
//if (stepperX.isRunning()== true && stepperZ.isRunning()== true){
//if(Serial.available()>0){
// Command = Serial.readString();
// if(Command = "stop" || "STOP" || "Stop");
// stepperX.stop();
// stepperZ.stop();
//}
//}
}
void RunStepper(){
stepperX.run();
stepperZ.run();
}
CODE THAT WORKS
#include <MultiStepper.h>
#include <AccelStepper.h>
//Stepper pins
AccelStepper stepper1(AccelStepper::DRIVER, 3, 5);
AccelStepper stepper2(AccelStepper::DRIVER, 6, 9);
void setup()
{
stepper1.setMaxSpeed(100.0);
stepper1.setAcceleration(10.0);
stepper1.moveTo(10000);
stepper2.setMaxSpeed(100.0);
stepper2.setAcceleration(10.0);
stepper2.moveTo(10000);
}
void loop()
{
// Change direction at the limits
if (stepper1.distanceToGo() == 0)
stepper1.moveTo(-stepper1.currentPosition());
stepper1.run();
stepper2.run();
}
Stepper_XZaxis.ino (1.37 KB)
Stepper_Simple_XZaxis.ino (580 Bytes)