final

Dependencies:   Encoder HIDScope MODSERIAL TouchButton mbed-dsp mbed

Fork of Robot1_11 by BMT M9 Groep01

Revision:
33:2f9c21ac9175
Parent:
32:92c8aa0408f8
Child:
34:688120048afb
--- a/main.cpp	Sat Nov 01 14:20:57 2014 +0000
+++ b/main.cpp	Sat Nov 01 15:23:43 2014 +0000
@@ -18,8 +18,8 @@
 #define WACHTEN 1
 #define SLAAN 2
 #define TERUGKEREN 3
-#define ANGLEMAX -80
-#define ANGLEMIN 0
+#define ANGLEMAX -150
+#define ANGLEMIN 150
 
 //initiating functions
 void Triceps();
@@ -80,6 +80,7 @@
 float highpass_states[4];
 
 bool stop;
+float pwm;
 float new_pos;
 float new_pwm;
 float PWM2 = 0.3; //PWM voor instellen hoek batje
@@ -385,18 +386,19 @@
                 }
             }
 
-            Ticker looptimer1;
+           /* Ticker looptimer1;
             //pwm_motor1.write(0.3);
             motordir1 = 1;
             stop = 0;
             looptimer1.attach(motor1aansturing,TSAMP1);
             wait(2); ////is aan te passen (tijd die nodig is om balletje te slaan
             looptimer1.detach();
-            pc.printf("detachMotor1\n");
-
+            pc.printf("detachMotor1\n");*/
+            
+            toestand=TERUGKEREN;
             Ticker looptimer3;
             looptimer3.attach(motor1aansturingdeel2,TSAMP1);
-            wait(2); ////is aan te passen (tijd die nodig is om balletje te slaan
+            wait(5); ////is aan te passen (tijd die nodig is om balletje te slaan
             looptimer3.detach();
             pc.printf("detachMotor1\n");
 
@@ -669,8 +671,9 @@
     if (toestand == SLAAN && motor1.getPosition() <= ANGLEMAX) {
         toestand = TERUGKEREN;
         //motor1.setPosition(0);
-        pwm_motor1.write(0);
-        pid(0,0,true);
+        
+        pwm=pid(0,0,true);
+        pwm_motor1.write(0.0);
         stop = 1; //zorgt dat hij niet weer gaat slaan tot er gereset is...
         pc.printf("toestand = terugkeren\n\r");
     }
@@ -688,7 +691,7 @@
         
     /*if (toestand == TERUGKEREN) {
         pidpositie(ANGLEMIN, motor1.getPosition());
-        }/*
+        }*/
 
 
         /*if (toestand == TERUGKEREN) {
@@ -706,14 +709,14 @@
 
 void motor1aansturingdeel2()
 {
-    if (motor1.getPosition()>= ANGLEMIN && toestand != SLAAN) {
+    if (motor1.getPosition()>= ANGLEMIN && toestand == TERUGKEREN) {
         toestand = WACHTEN;
         //motor1.setPosition(0);
         pid(0,0,true);
         //pc.printf("if2\n");
     }
     if (toestand == TERUGKEREN) {
-        new_pwm = pid(setspeed, motor1.getSpeed(),false);
+        //new_pwm = pid(setspeed, motor1.getSpeed(),false);
         pwm_motor1.write(0.3);
         new_pos=pidpositie(ANGLEMIN, motor1.getPosition());
         motordir1 = 0;