Tedd OKANO
/
unipolar_stepper_motor_operation_sample
Diff: main.cpp
- Revision:
- 4:3cb4e78e0846
- Parent:
- 3:db008e5009d0
- Child:
- 6:11b35048d384
--- a/main.cpp Sat Jan 11 01:34:59 2014 +0000 +++ b/main.cpp Sat Jan 11 01:45:19 2014 +0000 @@ -1,7 +1,7 @@ -// stepper motor operation sample (learn it step by step). +// stepper motor operation sample (learn it step by step). // showing how to control a unipolar stepper motor by mbed digital output ports. -// -// version 1-1 : Rotate motor in reverse direction +// +// version 2 : 360 steps clockwise and counterclockwise rotations #include "mbed.h" @@ -12,32 +12,64 @@ #define INTERVAL 0.01 -int main() { - +int main() +{ while(1) { - - motor_out0 = 0; - motor_out1 = 0; - motor_out2 = 0; - motor_out3 = 1; - wait( INTERVAL ); - - motor_out0 = 0; - motor_out1 = 0; - motor_out2 = 1; - motor_out3 = 0; - wait( INTERVAL ); - - motor_out0 = 0; - motor_out1 = 1; - motor_out2 = 0; - motor_out3 = 0; - wait( INTERVAL ); - - motor_out0 = 1; - motor_out1 = 0; - motor_out2 = 0; - motor_out3 = 0; - wait( INTERVAL ); + + // pulse orser : "p26 -> p25 -> p24 -> p23" for 4*90(=360) steps + + for ( int i = 0; i < 90; i++ ) { + motor_out0 = 1; + motor_out1 = 0; + motor_out2 = 0; + motor_out3 = 0; + wait( INTERVAL ); + + motor_out0 = 0; + motor_out1 = 1; + motor_out2 = 0; + motor_out3 = 0; + wait( INTERVAL ); + + motor_out0 = 0; + motor_out1 = 0; + motor_out2 = 1; + motor_out3 = 0; + wait( INTERVAL ); + + motor_out0 = 0; + motor_out1 = 0; + motor_out2 = 0; + motor_out3 = 1; + wait( INTERVAL ); + } + + // pulse orser : "p23 -> p24 -> p25 -> p26" for 4*90(=360) steps + + for ( int i = 0; i < 90; i++ ) { + motor_out0 = 0; + motor_out1 = 0; + motor_out2 = 0; + motor_out3 = 1; + wait( INTERVAL ); + + motor_out0 = 0; + motor_out1 = 0; + motor_out2 = 1; + motor_out3 = 0; + wait( INTERVAL ); + + motor_out0 = 0; + motor_out1 = 1; + motor_out2 = 0; + motor_out3 = 0; + wait( INTERVAL ); + + motor_out0 = 1; + motor_out1 = 0; + motor_out2 = 0; + motor_out3 = 0; + wait( INTERVAL ); + } } }