AccelStepper library Befehl rücksetzen

OP #3659065
Lesenswert?

Hallo,

hoffe jemand kann mir weiterhelfen, da ich sonst an der Accellibrary 
verzweifle.

Hardware: 2Stepper, 2 Pololu A4988 Treiber, Arduino Mega

Soll Programmablauf:
-Lichtschranke (FL) gibt ein Signal
-Stepper(F0) soll eine definierte Strecke fahren
-Anschließend soll Stepper(FO) und Stepper(W) solange fahren bis das 
Signal(S) kommt



#include <AccelStepper.h>

AccelStepper FO(1, 3, 4);
AccelStepper W(1, 6, 7);

int FPos = 1000;

int FL = A0 ;   // FL = Lichtschranke
int S  = A3 ;   // S  = Scanner

int FLVal = 0;
int SVal  = 0;

void setup()
{
  FO.setSpeed(-50);
  //FO.setMaxSpeed(50);
 // FO.setAcceleration(10000000);
  W.setSpeed(-120);
  //W.setMaxSpeed(120);
 // W.setAcceleration(10000000);


  pinMode(FL, INPUT);
  pinMode(S, INPUT);


}
void loop()
{
FLVal = analogRead(FL);
if (FLVal > 200)
{
FO.moveTo(FPos) ;
FO.run();
}

FLVal = analogRead(FL);
if (FLVal >200)
{
FO.runSpeed();
W.runSpeed();
 }
}


Ist Programmablauf
- Beide Stepper starten zur gleichen Zeit
- Stepper (FO) bleibt nach erreichen der Schritte einfach stehen, 
Stepper(W) läuft wie gewünscht weiter

Hab schon ein paar Varianten versucht, leider nie mit dem gewünschten 
Sollablauf.

Kann man den move Befehl irgendwie zurücksetzen?

Danke schon mal fürs lesen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren