Dependencies:   mbed

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 );
+        }
     }
 }