/*---------------------------------------*\
| Simple direct drive of Bipolar Stepper |
\*---------------------------------------*/
// pins connected
#define Ap 10 // A+ line
#define Am 11 // A- line
#define Bp 9 // .
#define Bm 8 // .
void setup() {
// set output
pinMode(Ap, OUTPUT); pinMode(Am, OUTPUT);
pinMode(Bp, OUTPUT); pinMode(Bm, OUTPUT);
}
int I = 0 ;
void loop() {
// This is Wave Fullstep motion - only one coil energized at a time
if ( I++ < 25 ) { // stop after 25*4 steps (=100) - quarter turn with gearRatio "2:1"
delay(100);
digitalWrite(Ap, HIGH); digitalWrite(Am, LOW) ; digitalWrite(Bp, LOW) ; digitalWrite(Bm, LOW) ;
delay(100);
digitalWrite(Ap, LOW) ; digitalWrite(Am, LOW) ; digitalWrite(Bp, HIGH); digitalWrite(Bm, LOW) ;
delay(100);
digitalWrite(Ap, LOW) ; digitalWrite(Am, HIGH); digitalWrite(Bp, LOW) ; digitalWrite(Bm, LOW) ;
delay(100);
digitalWrite(Ap, LOW) ; digitalWrite(Am, LOW) ; digitalWrite(Bp, LOW) ; digitalWrite(Bm, HIGH);
} else while (1);
}