Aus der AccelStepper.h :
/// Poll the motor and step it if a step is due, implmenting a constant
/// speed as set by the most recent call to setSpeed().
/// \return true if the motor was stepped.
boolean runSpeed();
Auf deutsch: runSpeed() macht genau einen Step. Und nur dann, wenn eine bestimmte Dauer, die aus dem mit setSpeed() bekommenen Geschwindigkeitswert berechnet wird, überschritten wird.
Ergo: Du solltest die Funktion möglichst oft ausführen. Daher wäre es ratsam die Teachen_menue()-Funktion nur einmal auszuführen und um den Eintrag delay(500) zu erleichtern.
P.S.:Wenn du
Code:
... //........Stepper2...........//
else if (analog_in1 >= 35 )...
bzw. Stepper3, Stepper4 durch
Code:
...//........Stepper2...........//
if (analog_in1 >= 35 )...
ersetzt, hast du gleichberechtigte Joysticks. Z.Z. ist Joystick 1 sozusagen Master, d.h. wird er betätigt, wird auf die anderen nicht reagiert.
Lesezeichen