// Shows how to run AccelStepper in the simplest,
// fixed speed mode with no accelerations
#include "AccelStepper.h"
#include "ezButton.h"
ezButton button(7,INPUT_PULLUP);
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
unsigned int speed = 0;
unsigned int lastSpeed = 0;
unsigned long UpButtonPressTime = 0;
const int LONG_PRESS_TIME = 1000; // Long button press time
const int SHORT_JOG_STEPS = 100;
unsigned long duration = 0;
void setup()
{
stepper.setMaxSpeed(5000);
stepper.setSpeed(0);
stepper.setAcceleration(1000);
Serial.begin(115200);
}
void loop()
{
button.loop();
//speed = map(analogRead(A0), 0, 1023, 0, 2000);
//if (lastSpeed != speed)
//stepper.setSpeed(speed);
//if (speed > 0)
//stepper.runSpeed();
//Tap Button to JOG
if (button.isPressed()){
//Serial.println("Button Pressed");
UpButtonPressTime = millis();
//stepper.setSpeed(200);
//stepper.move(10);
if (button.getState() == HIGH) {
duration = millis() - UpButtonPressTime;
Serial.println(duration);
}
}
//HOLD Button to Continuosly move
/*if ((button.getState() == LOW) && ((millis() - UpButtonPressTime) > LONG_PRESS_TIME)){
//Serial.println("Holding Rt Btn in JOG");
if(button.getState() == LOW){
stepper.move(1);
stepper.run();
}
} */
if ((button.getState() == LOW) && ((millis() - UpButtonPressTime) < 500)){
//Serial.println("Holding Rt Btn in JOG");
//stepper.setSpeed(200);
stepper.move(1);
}
stepper.run();
}