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:
- 12:7903c0e55cd7
- Parent:
- 10:06d0fe6b3bcf
- Child:
- 14:4b934ac37656
diff -r 06d0fe6b3bcf -r 7903c0e55cd7 main.cpp --- a/main.cpp Fri Sep 30 11:45:34 2016 +0000 +++ b/main.cpp Fri Oct 07 07:52:22 2016 +0000 @@ -1,76 +1,89 @@ -#include "mbed.h" -//#include "MODSERIAL.h" - -//DigitalOut led(LED_RED); -//DigitalOut led2(LED_BLUE); +#include "mbed.h" //standaard bieb mbed +#include "QEI.h" //bieb voor encoderfuncties in c++ +#include "MODSERIAL.h" //bieb voor modserial InterruptIn sw3(SW3); -Serial pc(USBTX, USBRX); -DigitalOut motor1(D4); +DigitalIn encoder1A(D13); +DigitalIn encoder1B(D12); +DigitalIn button_cw(D11); +DigitalIn button_ccw(D9); +DigitalOut ledcw(D10); +DigitalOut ledccw(D2); +MODSERIAL pc(USBTX, USBRX); +DigitalOut richting_motor1(D4); PwmOut pwm_motor1(D5); -DigitalOut motor2(D7); +DigitalOut richting_motor2(D7); PwmOut pwm_motor2(D6); -int n = 0; +int n = 0; //start van de teller wordt op nul gesteld void SwitchN() { // maakt simpele functie die 1 bij n optelt n++; } + int main() { - pc.baud(115200); // zorgt voor de link voor putty - + pc.baud(115200); // zorgt voor de link voor putty, 115200 is snelheid + const float a=1.0; + const float b=10.0; + while (true) { // zorgt er voor dat de code oneindig doorgelopen wordt - sw3.fall(&SwitchN); // zorrgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt + sw3.fall(&SwitchN); // zorgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt + - char c = pc.getc(); // zorgt ervoor dat er in het toetsenboard characters gebruikt kunnen worden - - if (c=='s') // als s ingedrukt wordt gebeurd het volgende + + if (button_cw==0) // als s ingedrukt wordt gebeurd het volgende { if (n%2==0) // als s ingedrukt wordt en het getal is even gebeurd het onderstaande { pc.printf("n is even \n\r"); // print lijn "n is even" pc.printf("up \n\r"); // print lijn "up" - motor1 = 1; // zegt dat motor 1 clockwise draaid - pwm_motor1 = 1; // zegt dat motor 1 op maximale snelheid draaid - wait (0.03); // wacht van 0.03 seconde - pwm_motor1 = 0; // zorgt er voor dat de snelheid van motor 1 uitgaat. + richting_motor1 = 1; + pwm_motor1 = a; + ledcw=1; ledccw=0; + } else // als s is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande { pc.printf("n is odd \n\r"); // print lijn "n is odd" pc.printf("left \n\r"); // print lijn "left" - motor2 = 1; // zegt dat motor 2 clockwise draaid - pwm_motor2 = 1; // zorgt er voor dat motor 2 maximale snelheid draaid - wait (0.03); // wacht van 0.03 seconde - pwm_motor2 = 0; // zorgt er voor dat de snelheid van motor 2 weer 0 wordt + richting_motor2 = 1; + pwm_motor2 = b; + ledcw=1; + ledccw=1; } } - else if (c=='d') // als d ingedrukt wordt gebeurd het volgende + else if (button_ccw==0) // als d ingedrukt wordt gebeurd het volgende { if (n%2==0) // als d is ingedrukt en n is even dan gebeurd het volgende { pc.printf("n is even \n\r"); // print lijn "n is even" pc.printf("down \n\r"); // print lijn "down" - motor1 = 0; // zorgt er voor dat motor 1 counter clockwise gaat draaien - pwm_motor1 = 1; // zorgt er voor dat motor 1 maximale snelheid gaat draaien - wait (0.03); // wacht van 0.03 seconde - pwm_motor1 = 0; // zorgt er voor dat de snelheid van motor 1 nul wordt als de knop wordt losgelaten + richting_motor1 = 0; + pwm_motor1 = a; + ledccw=1; ledcw=0; + + } - else // als d is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande { pc.printf("n is odd \n\r"); // print lijn "n is odd" pc.printf("right \n\r"); // print lijn "right" - motor2 = 0; // zorgt erg voor dat motor 2 counterclockwise draaid - pwm_motor2 = 1; // zorgt er voor dat motor 2 maximale snelheid draaid - wait (0.03); // wacht van 0.03 seconde - pwm_motor2=0; // zorgt er voor dat de snelheid van motor 2 nul wordt als de knop wordt losgelaten - } - - } + richting_motor2 = 0; + pwm_motor2 = b; + ledccw=1; ledcw=0; + + } + } + else{ + pc.printf("motor staat stil \n\r"); + pwm_motor2=0; + pwm_motor1=0; + ledccw=0; ;ledcw=0; + } + } }