#define CLK_Pin 3
#define stepsPerRevolution 200
void setup() {
// Declare pins as output:
pinMode(CW_Pin, OUTPUT);
pinMode(CLK_Pin, OUTPUT);
}
void loop() {
// Set the spinning direction clockwise:
digitalWrite(CW_Pin, HIGH);
// Spin the stepper motor 1 revolution slowly:
for (int i = 0; i < stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(CLK_Pin, HIGH);
delayMicroseconds(8000);
digitalWrite(CLK_Pin, LOW);
delayMicroseconds(8000);
}
delay(1000);
// Set the spinning direction counterclockwise:
digitalWrite(CW_Pin, LOW);
// Spin the stepper motor 1 revolution quickly:
for (int i = 0; i < stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(CLK_Pin, HIGH);
delayMicroseconds(4000);
digitalWrite(CLK_Pin, LOW);
delayMicroseconds(4000);
}
delay(1000);
// Set the spinning direction clockwise:
digitalWrite(CW_Pin, HIGH);
// Spin the stepper motor 5 revolutions fast:
for (int i = 0; i < 5 * stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(CLK_Pin, HIGH);
delayMicroseconds(2000);
digitalWrite(CLK_Pin, LOW);
delayMicroseconds(2000);
}
delay(1000);