Script voor aansturen motoren

Dependencies:   Encoder HIDScope MODSERIAL mbed-dsp mbed

Revision:
12:795657e66960
Parent:
11:ba0a33e6ff0d
Child:
13:7fe679538649
--- a/main.cpp	Tue Oct 28 00:22:43 2014 +0000
+++ b/main.cpp	Tue Oct 28 00:52:08 2014 +0000
@@ -32,7 +32,9 @@
 DigitalOut motordir2(M1_DIR);
 
 float speed1;
-float hoek1; 
+float hoek1;
+float speed2;
+float hoek2;
 
 bool flip=false;
 
@@ -52,7 +54,7 @@
     scope.send();*/
 }
 
-/*void clamp(float * in, float min, float max)
+void clamp(float * in, float min, float max)
 {
 *in > min ? *in < max? : *in = max: *in = min;
 }
@@ -68,11 +70,12 @@
     clamp(&out_i,-I_LIMIT,I_LIMIT);
 
     return out_p + out_i;
-}*/
+}
 
 int main()
-{   
-    speed1 = 0.7; 
+{
+    /*//motor1
+    speed1 = 0.7;
     hoek1 = 0.09; //in seconde
     wait(1);
     pwm_motor1.period_us(100);
@@ -93,12 +96,27 @@
     wait(1);
     motordir1=0;
     pwm_motor1.write(speed1);
-    wait(hoek1); 
+    wait(hoek1);
+    pwm_motor1.write(0);
+    */
+
+    //motor2
+    wait(1);
+    speed2 = 1;
+    motordir1=1;
+    pwm_motor1.write(speed2); //Deze snelheid kan lager worden ingesteld om accurator te zijn.
+    wait(0.11);             //naar 90 graden
     pwm_motor1.write(0);
-    
- 
-    
-    
+    wait(1);
+    motordir1=0;
+    pwm_motor1.write(speed2); //Deze snelheid moet maximaal om het balletje te slaan.
+    wait(0.19);             //balletje slaan
+    pwm_motor1.write(0);
+    wait(1);
+    motordir1=1;
+    pwm_motor1.write(speed2); //Deze kan lager worden ingesteld om accurater terug te gaan.
+    wait(0.06);            //terug naar begin positie
+    pwm_motor1.write(0);
 
     Ticker log_timer;
     Ticker timer;
@@ -107,7 +125,7 @@
 
     pc.baud(115200);
     while(1) {
-        wait(0.2);
+        wait(1);
         pc.printf("%d, %f \r\n", motor1.getPosition(), motor1.getSpeed());
     }
 }