robot

Dependencies:   Encoder HIDScope MODSERIAL TouchButton mbed-dsp mbed

Fork of Robot2false by BMT M9 Groep01

Revision:
43:af480e6823ab
Parent:
42:8e47aeb8c206
Child:
44:130fa54388ef
diff -r 8e47aeb8c206 -r af480e6823ab main.cpp
--- a/main.cpp	Sun Nov 02 13:02:41 2014 +0000
+++ b/main.cpp	Sun Nov 02 13:06:18 2014 +0000
@@ -704,7 +704,7 @@
                     //motor1.setPosition(0);
                     pid(0,0,true);
                     pwm_motor1.write(0);//arvid had hier 0,0 gezet?!
-                    stop = 1; //zorgt dat hij niet weer gaat slaan tot er gereset is...
+                    stop = 1;
                 }
             pidpositie(ANGLEMAX, motor1.getPosition());//dit is nu alleen een waarde, moet vervolgens in een functie terugkomen toch
             //?? motor1.getPosition(nieuwe positie);
@@ -758,23 +758,25 @@
 
 void motor1aansturingdeel2()
 {
-    if (toestand == TERUGKEREN && motor1.getPosition()>= ANGLEMIN) {//moet arm hier niet naar beginpositie? als het te ver naar achteren is gegaan bijvoorbeeld
-        //pidpositie(ANGLEMIN, motor1.getPosition())
-        //?? motor1.getPosition(nieuwe positie);
-        toestand = WACHTEN;
-        //motor1.setPosition(0);
-        pid(0,0,true);
-        //pc.printf("if2\n");
-    }
-    if (toestand == TERUGKEREN && motor1.getPosition()<=ANGLEMIN) {
-        pidpositie(ANGLEMIN, motor1.getPosition());//dit is nu alleen een waarde, moet vervolgens in een functie terugkomen toch
-        //?? motor1.getPosition(nieuwe positie);
-        pwm_motor1.write(0.3);
-        motordir1 = 0;
-
-        pc.printf("motor2.getPosition %d\r\n", motor2.getPosition());
-    }
     switch(toestand) {
+        case TERUGKEREN:
+            if (motor1.getPosition()>= ANGLEMIN) {//moet arm hier niet naar beginpositie? als het te ver naar achteren is gegaan bijvoorbeeld
+                //pidpositie(ANGLEMIN, motor1.getPosition())
+                //?? motor1.getPosition(nieuwe positie);
+                toestand = WACHTEN;
+                //motor1.setPosition(0);
+                pid(0,0,true);
+                //pc.printf("if2\n");
+            }
+            if (motor1.getPosition()<=ANGLEMIN) {
+                pidpositie(ANGLEMIN, motor1.getPosition());//dit is nu alleen een waarde, moet vervolgens in een functie terugkomen toch
+                //?? motor1.getPosition(nieuwe positie);
+                pwm_motor1.write(0.3);
+                motordir1 = 0;
+        
+                pc.printf("motor2.getPosition %d\r\n", motor2.getPosition());
+            }
+            break;
         case WACHTEN:
             pwm_motor1.write(0);
             //pidpositie(ANGLEMIN, motor1.getPosition());