EMG check. met knopjes en toetsenboard emg signalen simuleren om de code te testen. groepje 12

Dependencies:   MODSERIAL QEI mbed

Fork of EMG_check by sibren vuurberg

Revision:
29:5de90b30c68d
Parent:
26:a6b8bad5b0e2
Child:
30:356902e752e4
--- a/main.cpp	Fri Oct 28 12:14:20 2016 +0000
+++ b/main.cpp	Mon Oct 31 14:42:31 2016 +0000
@@ -69,11 +69,11 @@
     
     sw3.fall(&SwitchN);                  // zorgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt
     
-    while(sw2==0 && rev_counts_motor1<0 && value1_resetbutton >= 0){ // zorgt er voor dat de loop wordt doorlopen als switch 2 wordt ingedrukt, aantal rondejs van de motor kleiner is dan 0 en de value resetbutton groter of gelijk is aan 0
+    while(sw2==0 && rev_counts_motor1<-0.1 && value1_resetbutton >= 0){ // zorgt er voor dat de loop wordt doorlopen als switch 2 wordt ingedrukt, aantal rondejs van de motor kleiner is dan 0 en de value resetbutton groter of gelijk is aan 0
         pc.printf("switch 2 is ingedrukt \r\n");
             pc.printf("aantal rondjes motor 1 is kleiner dan 0\r\n");
             richting_motor1 = 1;                                        // zorgt er voor dat de motor tegenovergestelde richting gaat draaien zodat het totaal aantal rondjes gedraaid op 0 komt te staan
-             pwm_motor1 = voltage_motor1;                               // zorgt er voor dat er een ampere is voor de motor om te draaien
+             pwm_motor1 = 0.1;                               // zorgt er voor dat er een ampere is voor de motor om te draaien
              pc.printf("richting motor is %f \r\n", richting_motor1);
              pc.printf("voltage motor 1 is %f \r\n", voltage_motor1);
              counts_encoder1 = Encoder1.getPulses();                   // zorgt er voor dat het aantal rondjes geteld worden
@@ -81,10 +81,10 @@
              pc.printf("rondjes motor is %f \r\n", rev_counts_motor1);
              value1_resetbutton = 1;                                    // veranderd de value1_resetbutton in 1 hierdoor kan er niet meer in de andere loop gekomen worden maar nog wel in dezelfde. dit voorkomt dat als de loop 0 heeft bereikt die daar blijft staan en niet oneindig om nul blijft draaien.
             }
-       while (sw2==0 && rev_counts_motor1>0 && value1_resetbutton <=0){ // werkt het zelfde als de vorige loop maar dan met tegengestelde richting.
+       while (sw2==0 && rev_counts_motor1>0.1 && value1_resetbutton <=0){ // werkt het zelfde als de vorige loop maar dan met tegengestelde richting.
             pc.printf("aantal rondjes motor 1 is groter dan 0 \r\n");
             richting_motor1 = 0;
-             pwm_motor1 = voltage_motor1;
+             pwm_motor1 = 0.1;
              pc.printf("richting motor is %f \r\n", richting_motor1);
              pc.printf("voltage motor 1 is %f \r\n", voltage_motor1);
              counts_encoder1 = Encoder1.getPulses();
@@ -92,10 +92,10 @@
               pc.printf("rondjes motor is %f \r\n", rev_counts_motor1);  
               value1_resetbutton = -1;
             }
-    while(sw2==0 && rev_counts_motor2<0 && value2_resetbutton >= 0){ // werkt het zelfde maar dan voor motor2
+    while(sw2==0 && rev_counts_motor2<-0.1 && value2_resetbutton >= 0){ // werkt het zelfde maar dan voor motor2
             pc.printf("aantal rondjes motor 2 is kleiner dan 0\r\n");
             richting_motor2 = 0;
-             pwm_motor2 = voltage_motor2;
+             pwm_motor2 = 0.1;
              pwm_motor1 = 0;
              pc.printf("richting motor 2 is %f \r\n", richting_motor2);
              pc.printf("voltage motor 2 is %f \r\n", voltage_motor2);
@@ -104,10 +104,10 @@
              pc.printf("rondjes motor 2is %f \r\n", rev_counts_motor2);
              value2_resetbutton = 1;    
             }
-       while (sw2==0 && rev_counts_motor2>0 && value2_resetbutton <=0){
+       while (sw2==0 && rev_counts_motor2>0.1 && value2_resetbutton <=0){
             pc.printf("aantal rondjes motor 2 is groter dan 0\r\n");
             richting_motor2 = 1;
-             pwm_motor2 = voltage_motor2;
+             pwm_motor2 = 0.1;
              pwm_motor1=0;
              pc.printf("richting motor 2is %f \r\n", richting_motor2);
              pc.printf("voltage motor 2 is %f \r\n", voltage_motor2);
@@ -237,7 +237,8 @@
         }
     }   
     else{
-     pc.printf("rondjes motor1 is %f: \n\r",rev_counts_motor1);
+     pc.printf("rondjes motor1 is %f:",rev_counts_motor1);
+     pc.printf("rondjes motor2 is %f: \n\r",rev_counts_motor2);
      counts_encoder1 = Encoder1.getPulses(); //tellen van de pulsen in  
     rev_counts_motor1=counts_encoder1/(gearboxratio*rev_rond);  
      counts_encoder2 = Encoder2.getPulses(); //tellen van de pulsen in  
@@ -252,11 +253,15 @@
     pwm_motor1 =0;
     }
     
-  if (rev_counts_motor2 < -4.0 && richting_motor2 == 1){
+  if (rev_counts_motor2 < -2.0 && richting_motor2 == 1){
+        pc.printf("rondjes motor kleinder dan -2.0 dus ik stop \r\n");
         pwm_motor2=0;
+        richting_motor2=0;
            }
-    else if (rev_counts_motor2 > 4.0 && richting_motor2 == 0){
-           pwm_motor2==0;
+    else if (rev_counts_motor2 > 2.0 &&  richting_motor2 == 0){
+           pc.printf("rondjes motor groter dan 2.0 dus ik stop \r\n");
+           pwm_motor2=0;
+           richting_motor2=1;
            }
            
 }