arduino stuffs
Diffstat (limited to 'libraries/AFMotor/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde')
-rwxr-xr-xlibraries/AFMotor/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde56
1 files changed, 56 insertions, 0 deletions
diff --git a/libraries/AFMotor/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde b/libraries/AFMotor/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde
new file mode 100755
index 0000000..d6db8b1
--- /dev/null
+++ b/libraries/AFMotor/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde
@@ -0,0 +1,56 @@
+// MultiStepper
+// -*- mode: C++ -*-
+//
+// Control both Stepper motors at the same time with different speeds
+// and accelerations.
+// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library)
+// And AccelStepper with AFMotor support (https://github.com/adafruit/AccelStepper)
+// Public domain!
+
+#include <AccelStepper.h>
+#include <AFMotor.h>
+
+// two stepper motors one on each port
+AF_Stepper motor1(200, 1);
+AF_Stepper motor2(200, 2);
+
+// you can change these to DOUBLE or INTERLEAVE or MICROSTEP!
+// wrappers for the first motor!
+void forwardstep1() {
+ motor1.onestep(FORWARD, SINGLE);
+}
+void backwardstep1() {
+ motor1.onestep(BACKWARD, SINGLE);
+}
+// wrappers for the second motor!
+void forwardstep2() {
+ motor2.onestep(FORWARD, SINGLE);
+}
+void backwardstep2() {
+ motor2.onestep(BACKWARD, SINGLE);
+}
+
+// Motor shield has two motor ports, now we'll wrap them in an AccelStepper object
+AccelStepper stepper1(forwardstep1, backwardstep1);
+AccelStepper stepper2(forwardstep2, backwardstep2);
+
+void setup()
+{
+ stepper1.setMaxSpeed(200.0);
+ stepper1.setAcceleration(100.0);
+ stepper1.moveTo(24);
+
+ stepper2.setMaxSpeed(300.0);
+ stepper2.setAcceleration(100.0);
+ stepper2.moveTo(1000000);
+
+}
+
+void loop()
+{
+ // Change direction at the limits
+ if (stepper1.distanceToGo() == 0)
+ stepper1.moveTo(-stepper1.currentPosition());
+ stepper1.run();
+ stepper2.run();
+}