Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- #include <AccelStepper.h>
- #define EN 4
- #define STEPS_PER_REVOLUTION_IN_START 75
- #define STEPS_PER_REVOLUTION_REV_IN_START 500
- int stepsPerRevolution = STEPS_PER_REVOLUTION_IN_START;
- int stepsPerRevolutionRev = STEPS_PER_REVOLUTION_REV_IN_START;
- AccelStepper myStepper (AccelStepper::DRIVER, 9, 8) ;
- void setup() {
- Serial.begin(115200); // Initialize the serial port // Initialize the mySerial port
- myStepper.setMaxSpeed (500);
- myStepper.setAcceleration (100000);
- myStepper.setEnablePin(EN);
- //myStepper.setPinsInverted(false, false, false, false, false);
- String dd = "";
- //myStepper.disableOutputs();
- pinMode(EN, OUTPUT);
- }
- void loop() {
- String state = Serial.readStringUntil('\n');
- if (state.length() > 0) {
- if (state.length() == 3) {
- stepsPerRevolution = state.toInt();
- Serial.println(stepsPerRevolution);
- }
- if (state == "1") {
- //Serial.println(dd);
- myStepper.move(stepsPerRevolutionRev);
- int tmpSteps = myStepper.currentPosition() + stepsPerRevolution;
- while (myStepper.currentPosition() != tmpSteps) {
- myStepper.run();
- }
- myStepper.stop(); // Stop as fast as possible: sets new target
- myStepper.runToPosition(); // Now stopped after quickstop
- tmpSteps = myStepper.currentPosition() - stepsPerRevolutionRev;
- myStepper.move(-stepsPerRevolutionRev); // Now go backwards
- while (myStepper.currentPosition() != tmpSteps) {
- myStepper.run();
- }
- myStepper.stop(); // Stop as fast as possible: sets new target
- myStepper.runToPosition();
- }
- }
- digitalWrite(EN, HIGH);
- myStepper.disableOutputs();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement