Code: Select all
//LIBRARIES -----------------------------------------------------------
#include <AccelStepper.h>
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_PWMServoDriver.h"
//DEVICES -----------------------------------------------------------
Adafruit_MotorShield AFMStop(0x60); // Default address, no jumpers
Adafruit_StepperMotor *myStepper1 = AFMStop.getStepper(200, 1);
Adafruit_StepperMotor *myStepper2 = AFMStop.getStepper(200, 2);
//FUNCTIONS -----------------------------------------------------------
void forwardstep1() {
myStepper1->onestep(FORWARD, SINGLE);
}
void backwardstep1() {
myStepper1->onestep(BACKWARD, SINGLE);
}
// wrappers for the second motor!
void forwardstep2() {
myStepper2->onestep(FORWARD, DOUBLE);
}
void backwardstep2() {
myStepper2->onestep(BACKWARD, DOUBLE);
}
AccelStepper stepper1(forwardstep1, backwardstep1); // wrappers
AccelStepper stepper2(forwardstep2, backwardstep2);
void setup()
{
AFMStop.begin(); // Start the top shield
stepper1.setMaxSpeed(100.0);
stepper1.setAcceleration(200.0);
stepper1.moveTo(500);
stepper2.setMaxSpeed(200.0);
stepper2.setAcceleration(300.0);
stepper2.moveTo(500);
}
//MAIN LOOP -----------------------------------------------------------
void loop()
{
int xAxis = analogRead(A0);
int yAxis = analogRead(A2);
if (xAxis >=600){ // Full speed up to 300
stepper1.move(200);
stepper1.run();
}
else if (xAxis < 600) {
stepper1.stop();
}
}