Advertisement
bld

Simple Stepping

bld
Mar 25th, 2012
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.42 KB | None | 0 0
  1. #define pinStp 11  //Steps
  2. #define pinDir 12  //Direction
  3. #define pinEna 10  //Enable the driver (LOW = enabled)
  4. #define pinLed 13  //LED pin
  5.  
  6. #define stepperStepDelay 50    //Delay between each step
  7. #define stepperSteps 20000     //Number of steps to take
  8. #define stepperEnableDelay 25  //Delay from driver is activated until first step is taken
  9.  
  10. #define cyclePause 500  //Delay between clockwise and counterclockwise movement
  11.  
  12.  
  13. void setup()
  14. {
  15.   Serial.begin(9600);
  16.   pinMode(pinDir, OUTPUT);
  17.   pinMode(pinStp, OUTPUT);
  18.   pinMode(pinEna, OUTPUT);
  19.   pinMode(pinLed, OUTPUT);
  20. }
  21.  
  22. void loop()
  23. {  
  24.   while(true)
  25.   {
  26.     digitalWrite(pinEna, LOW); digitalWrite(pinLed, HIGH); delayMicroseconds(stepperEnableDelay);
  27.     digitalWrite(pinDir, LOW);
  28.    
  29.     for(int i = 0; i < stepperSteps; i++)
  30.     {
  31.       digitalWrite(pinStp, HIGH);
  32.       digitalWrite(pinStp, LOW);
  33.       delayMicroseconds(stepperStepDelay);
  34.     }
  35.    
  36.     digitalWrite(pinEna, HIGH); digitalWrite(pinLed, LOW);
  37.    
  38.     delay(cyclePause);
  39.    
  40.     digitalWrite(pinEna, LOW); digitalWrite(pinLed, HIGH); delayMicroseconds(stepperEnableDelay);
  41.     digitalWrite(pinDir, HIGH);
  42.  
  43.     for(int i = 0; i < stepperSteps; i++)
  44.     {
  45.       digitalWrite(pinStp, HIGH);
  46.       digitalWrite(pinStp, LOW);
  47.       delayMicroseconds(stepperStepDelay);
  48.     }
  49.    
  50.     digitalWrite(pinEna, HIGH); digitalWrite(pinLed, LOW);
  51.    
  52.     delay(cyclePause);
  53.   }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement