58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // AFMotor_MultiStepper.pde
 | |
| // -*- mode: C++ -*-
 | |
| //
 | |
| // Control both Stepper motors at the same time with different speeds
 | |
| // and accelerations. 
 | |
| // Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library)
 | |
| // Caution, does not work with Adafruit Motor Shield V2
 | |
| // See https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library 
 | |
| // for examples that work with Adafruit Motor Shield V2.
 | |
| 
 | |
| #include <AccelStepper.h>
 | |
| #include <AFMotor.h>
 | |
| 
 | |
| // two stepper motors one on each port
 | |
| AF_Stepper motor1(200, 1);
 | |
| AF_Stepper motor2(200, 2);
 | |
| 
 | |
| // you can change these to DOUBLE or INTERLEAVE or MICROSTEP!
 | |
| // wrappers for the first motor!
 | |
| void forwardstep1() {  
 | |
|   motor1.onestep(FORWARD, SINGLE);
 | |
| }
 | |
| void backwardstep1() {  
 | |
|   motor1.onestep(BACKWARD, SINGLE);
 | |
| }
 | |
| // wrappers for the second motor!
 | |
| void forwardstep2() {  
 | |
|   motor2.onestep(FORWARD, SINGLE);
 | |
| }
 | |
| void backwardstep2() {  
 | |
|   motor2.onestep(BACKWARD, SINGLE);
 | |
| }
 | |
| 
 | |
| // Motor shield has two motor ports, now we'll wrap them in an AccelStepper object
 | |
| AccelStepper stepper1(forwardstep1, backwardstep1);
 | |
| AccelStepper stepper2(forwardstep2, backwardstep2);
 | |
| 
 | |
| void setup()
 | |
| {  
 | |
|     stepper1.setMaxSpeed(200.0);
 | |
|     stepper1.setAcceleration(100.0);
 | |
|     stepper1.moveTo(24);
 | |
|     
 | |
|     stepper2.setMaxSpeed(300.0);
 | |
|     stepper2.setAcceleration(100.0);
 | |
|     stepper2.moveTo(1000000);
 | |
|     
 | |
| }
 | |
| 
 | |
| void loop()
 | |
| {
 | |
|     // Change direction at the limits
 | |
|     if (stepper1.distanceToGo() == 0)
 | |
| 	stepper1.moveTo(-stepper1.currentPosition());
 | |
|     stepper1.run();
 | |
|     stepper2.run();
 | |
| }
 |