fabianmoronzirfas
6/8/2015 - 12:44 PM

stepper.ino

// bind stepper with schmalzhaus.com easydriver to poti
#define DIR_PIN 2
#define STEP_PIN 3

int dir = LOW;

//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
float master_speed = .5;


void setup(){
  Serial.begin(9600);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);


}
void loop(){

rotate(10, master_speed, LOW);
delay(100);
rotate(10, master_speed, HIGH);
delay(100);

}



void rotate(int steps, float speed, int dir){
  //rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement)


  digitalWrite(DIR_PIN, dir);

  float usDelay = (1/speed) * 70;

  for(int i=0; i < steps; i++){

    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(usDelay);

    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(usDelay);
  }
}