Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********* Pleasedontcode.com **********
- Pleasedontcode thanks you for automatic code generation! Enjoy your code!
- - Terms and Conditions:
- You have a non-exclusive, revocable, worldwide, royalty-free license
- for personal and commercial use. Attribution is optional; modifications
- are allowed, but you're responsible for code maintenance. We're not
- liable for any loss or damage. For full terms,
- please visit pleasedontcode.com/termsandconditions.
- - Project: "Stepper Control"
- - Source Code compiled for: Arduino Mega
- - Source Code created on: 2024-01-05 12:37:53
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* speed of motor will be 500, motor will do 3 */
- /* rotation then 2 sec delay then 3 rotation then */
- /* delay then 3 rotation then delay then 3 rotation */
- /* then 11 rotation with high speed */
- /****** END SYSTEM REQUIREMENTS *****/
- /****** DEFINITION OF LIBRARIES *****/
- #include <Arduino.h>
- #include <AccelStepper.h>
- /****** SYSTEM REQUIREMENTS *****/
- // Speed of motor will be 500, motor will do 3 rotations then 2 sec delay then 3 rotations then delay then 3 rotations then 11 rotations with high speed
- const float rotationSpeed = 500.0;
- const int numRotations = 3;
- const int delayTime = 2000;
- const int highSpeedRotations = 11;
- /****** FUNCTION PROTOTYPES *****/
- void setup(void);
- void loop(void);
- /***** DEFINITION OF DIGITAL OUTPUT PINS *****/
- const uint8_t driver_A4988StepperMotorDriver_STEP_PIN_D8 = 8;
- const uint8_t driver_A4988StepperMotorDriver_DIR_PIN_D9 = 9;
- /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
- AccelStepper stepper1;
- AccelStepper stepper2(AccelStepper::FULL4WIRE, 6, 7, 8, 9);
- AccelStepper stepper3(AccelStepper::FULL2WIRE, 10, 11);
- void setup(void)
- {
- // put your setup code here, to run once:
- pinMode(driver_A4988StepperMotorDriver_STEP_PIN_D8, OUTPUT);
- pinMode(driver_A4988StepperMotorDriver_DIR_PIN_D9, OUTPUT);
- stepper1.setMaxSpeed(rotationSpeed);
- stepper1.setAcceleration(100.0);
- stepper1.moveTo(numRotations * 200); // 3 rotations
- stepper2.setMaxSpeed(rotationSpeed);
- stepper2.setAcceleration(100.0);
- stepper2.moveTo(numRotations * 200); // 3 rotations
- stepper3.setMaxSpeed(rotationSpeed);
- stepper3.setAcceleration(100.0);
- stepper3.moveTo(numRotations * 200); // 3 rotations
- }
- void loop(void)
- {
- // put your main code here, to run repeatedly:
- if (stepper1.distanceToGo() == 0)
- {
- delay(delayTime); // 2 seconds delay
- stepper1.moveTo(numRotations * 200); // 3 rotations
- }
- stepper1.run();
- stepper2.run();
- stepper3.run();
- // High speed rotation
- if (stepper1.currentPosition() >= numRotations * 200)
- {
- stepper1.setMaxSpeed(1000.0);
- stepper1.moveTo(highSpeedRotations * 200); // 11 rotations
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement