//https://www.youtube.com/watch?v=G9jSyB7YrTY
#include <AccelStepper.h>
// The X Stepper pins
#define STEPPER1_DIR_PIN 16
#define STEPPER1_STEP_PIN 17
// The Y stepper pins
#define STEPPER2_DIR_PIN 5
#define STEPPER2_STEP_PIN 18
const int purga = 19;
const int btn1 = 23;
const int bt2 = 22;
const int sinal = 21;
long position1;
// Define some steppers and the pins the will use
AccelStepper stepper1(AccelStepper::DRIVER, STEPPER1_STEP_PIN, STEPPER1_DIR_PIN);
AccelStepper stepper2(AccelStepper::DRIVER, STEPPER2_STEP_PIN, STEPPER2_DIR_PIN);
void setup()
{
Serial.begin(9600);
stepper1.setMaxSpeed(200.0);
stepper1.setAcceleration(200.0);
stepper2.setMaxSpeed(200.0);
stepper2.setAcceleration(200.0);
position1 = stepper1.currentPos;
pinMode(purga, INPUT_PULLUP);
pinMode(btn1, INPUT_PULLUP);
pinMode(bt2, INPUT_PULLUP);
pinMode(sinal, OUTPUT);
}
void loop()
{
if (digitalRead(bt2) == 0) {
stepper1.setCurrentPosition(0);
stepper2.setCurrentPosition(0);
Serial.println("Seta posição 0");
}
if (digitalRead(btn1) == 0) {
stepper1.runToNewPosition(100);
Serial.println(position1);
delay(500);
stepper2.runToNewPosition(100);
delay(500);
stepper1.runToNewPosition(0);
Serial.println(position1);
delay(500);
stepper2.runToNewPosition(0);
delay(200);
digitalWrite(sinal, HIGH);
delay(500);
digitalWrite(sinal, LOW);
} else {
stepper1.stop();
stepper2.stop();
}
delay(100);
while (digitalRead(purga) == 0){
stepper1.runToNewPosition(120);
delay(500);
stepper2.runToNewPosition(120);
delay(500);
stepper1.runToNewPosition(0);
delay(500);
stepper2.runToNewPosition(0);
delay(200);
digitalWrite(sinal, HIGH);
delay(500);
digitalWrite(sinal, LOW);
stepper1.stop();
stepper2.stop();
delay(100);
}
}