inverse kinematics toegevoegd en tickers samengevoegd tot 1 ticker

Dependencies:   HIDScope MODSERIAL biquadFilter mbed

Fork of Project_script by Marijke Zondag

Revision:
24:6d63ad38fef7
Parent:
23:97a976a8f0fc
Child:
25:bbef09ff226b
diff -r 97a976a8f0fc -r 6d63ad38fef7 main.cpp
--- a/main.cpp	Tue Oct 30 10:37:45 2018 +0000
+++ b/main.cpp	Tue Oct 30 13:09:58 2018 +0000
@@ -250,63 +250,46 @@
 {
     while(emg_cal==1)                              //After calibration is finished, emg_cal will be 1. Otherwise 0. 
     { 
-        // pc.printf("Movag0 = %f , Movag1 = %f, Movag2 = %f \n\r",movAg0, movAg1, movAg2);
-        // pc.printf("Thresh0 = %f , Thresh1 = %f, Thresh2 = %f \n\r",Threshold0, Threshold1, Threshold2);
-        // wait(2.0f);
                
-                if(movAg0>Threshold0)        //If the filtered EMG signal of muscle 0 is higher than the threshold, motor1 will turn in 1 direction
+                if(movAg0>Threshold0)                               //If the filtered EMG signal of muscle 0 is higher than the threshold, motor1 will turn in 1 direction
                 {
                        pwmpin1 = 1;
                        directionpin1.write(1);                      //translatie vooruit
                        
-                       ledr = 1;                                   //Blue
+                       ledr = 1;                                    //Blue
                        ledb = 0;
                        ledg = 1;
                        
                 }
-                else                            //If it is not higher than the threshold, the motor will not turn at all. 
-                {
-                       pwmpin1 = 0;
-                       ledr = 0;                                   //white
-                       ledb = 0;
-                       ledg = 0;
-                }
-                
-                if(movAg1>Threshold1)        //If the filtered EMG signal of muscle 1 is higher than the threshold, motor2 will turn in 1 direction
+                else if(movAg1>Threshold1)                          //If the filtered EMG signal of muscle 1 is higher than the threshold, motor2 will turn in 1 direction
                 {
                        pwmpin2 = 1;
-                       directionpin2.write(0);                      //rotatie omhoog  
-                       ledr = 0;                                   //red
+                       directionpin2.write(1);                      //rotatie omhoog  
+                       ledr = 0;                                    //red
                        ledb = 1;
                        ledg = 1;
                 }
-                else                            //If not higher than the threshold, motor will not turn at all
+                else if(movAg2>Threshold2)                          //If the filtered EMG signal of muscle 2 is higher than the threshold, motor 1 and 2 will turn
                 {
-                       pwmpin2 = 0;
-                       ledr = 0;                                   //white
-                       ledb = 0;
-                       ledg = 0;
-                }
-               // if(movAg2>Threshold2)        //If the filtered EMG signal of muscle 2 is higher than the threshold, motor 1 and 2 will turn
-                //{
-                  //   pwmpin1 = 1;
-                     //pwmpin2 = 1;
-                    // directionpin1.write(0);                    //translatie achteruit
-                    // directionpin2.write(1);                    //rotatie omlaag
+                     
+                        pwmpin1 = 1;
+                        pwmpin2 = 1;
+                        directionpin1.write(0);                    //translatie achteruit
+                        directionpin2.write(0);                    //rotatie omlaag
                        
-                     //ledr = 1;                                   //green
-                     //ledb = 1;
-                     //ledg = 0;
-                //}
-                //else                            //If not higher than the threshold, motors will not turn at all
-                //{
-                //     pwmpin1 = 0;
-                //     pwmpin2 = 0;
+                        ledr = 1;                                  //green
+                        ledb = 1;
+                        ledg = 0;
+                }
+                else                                               //If not higher than the threshold, motors will not turn at all
+                {
+                    pwmpin1 = 0;                                  //Motoren doen niets
+                    pwmpin2 = 0;
                        
-                //     ledr = 0;                                   //white
-                //     ledb = 0;
-                //     ledg = 0;
-                //}
+                    ledr = 0;                                   //white
+                    ledb = 0;
+                    ledg = 0;
+                }
                        
         break;           
         }
@@ -332,9 +315,9 @@
        // HIDScope_tick.attach(&HIDScope_sample,T);   //EMG signals raw + filtered to HIDScope every T sec.
         
     button1.rise(switch_to_calibrate);          //Switch state of calibration (which muscle)
-    wait(0.2f);
+    wait(0.2f);                                 //Wait to avoid bouncing of button
     button2.rise(calibrate);                    //Calibrate threshold for 3 muscles
-    wait(0.2f);
+    wait(0.2f);                                 //Wait to avoid bouncing of button
     
     pc.printf("x is %i\n\r",x);
     pc.printf("Movag0 = %f , Movag1 = %f, Movag2 = %f \n\r",movAg0, movAg1, movAg2);