#dene EN 8 /* Enable pin for all stepper outputs */
#dene X_DIR 5 /* Direction pin for X-axis */
#dene X_STEP 2 /* Step pin for X-axis */
#dene Y_DIR 6 /* Direction pin for Y-axis */
#dene Y_STEP 3 /* Step pin for Y-axis */
#dene Z_DIR 7 /* Direction pin for Z-axis */
#dene Z_STEP 4 /* Step pin for Z-axis */
#dene A_DIR 13 /* Direction pin for A-axis */
#dene A_STEP 12 /* Step pin for A-axis */
int Count = 0; /* Counter to count the steps made */
boolean Direction = LOW; /* Rotation direction of the stepper
motors */
void setup()
{
Serial.begin(9600);
/* Pins of the motor drivers are congured as outputs */
pinMode(EN, OUTPUT);
pinMode(X_DIR, OUTPUT);
pinMode(X_STEP, OUTPUT);
pinMode(Y_DIR, OUTPUT);
pinMode(Y_STEP, OUTPUT);
pinMode(Z_DIR, OUTPUT);
pinMode(Z_STEP, OUTPUT);
pinMode(A_DIR, OUTPUT);
pinMode(A_STEP, OUTPUT);
digitalWrite(EN, LOW); //Low to activate
}
void loop()
{
/* Count one step */
Count++;
/* When 500 steps have been reached, change the direction
and reset the counter. */
if (Count >= 500)
{
Direction = !Direction;
digitalWrite(X_DIR, Direction); // Low = CW
digitalWrite(Y_DIR, Direction); // Low = CW
digitalWrite(Z_DIR, Direction); // Low = CW
digitalWrite(A_DIR, Direction); // Low = CW
Count = 0;
}
/* Step the X, Y, Z, and A motors */
digitalWrite(X_STEP, HIGH);
delay(1);
digitalWrite(Y_STEP, HIGH);
delay(1);
digitalWrite(Z_STEP, HIGH);
delay(1);
digitalWrite(A_STEP, HIGH);
delay(1);
digitalWrite(X_STEP, LOW);
delay(1);
digitalWrite(Y_STEP, LOW);
delay(1);
digitalWrite(Z_STEP, LOW);
delay(1);
digitalWrite(A_STEP, LOW);
delay(1);
}