For those interested, here's the code I used to drive the motor. The coils are wired on consecutive pins, and in this case the first coil is on pins 2 and 3, and the second is on 4 and 5.
void setup()
{
}
void coilForward(int pin)
{
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);
pinMode(pin+1, OUTPUT);
digitalWrite(pin+1, LOW);
}
void coilBackward(int pin)
{
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
pinMode(pin+1, OUTPUT);
digitalWrite(pin+1, HIGH);
}
void coilOff(int pin)
{
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
pinMode(pin+1, OUTPUT);
digitalWrite(pin+1, LOW);
}
int step = 0;
boolean blink = true;
void loop()
{
switch(step)
{
case 0:
coilForward(2);
coilOff(4);
break;
case 1:
coilForward(2);
coilForward(4);
break;
case 2:
coilOff(2);
coilForward(4);
break;
case 3:
coilBackward(2);
coilForward(4);
break;
case 4:
coilBackward(2);
coilOff(4);
break;
case 5:
coilBackward(2);
coilBackward(4);
break;
case 6:
coilOff(2);
coilBackward(4);
break;
case 7:
coilForward(2);
coilBackward(4);
}
step++;
if(step == 8) step = 0;
delay(10);
}