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
Diff: main.cpp
- 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; } }