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

Committer:
sivuu
Date:
Fri Sep 30 09:31:26 2016 +0000
Revision:
5:d1d65e16fd9e
Parent:
4:2b3fbd7ef1cf
Child:
6:e6a048f541ee
poging met gelijdelijk verminderen van pwm om hem zo minder shokkerig te maken. Niet gelukt het ligt wss aan dat hij nog door moet bewegen volgens vorig command.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sivuu 0:b7cb5d3978b5 1 #include "mbed.h"
sivuu 3:34f7c16a6a7f 2 //#include "MODSERIAL.h"
sivuu 2:4dcdf7755a04 3
sivuu 0:b7cb5d3978b5 4 DigitalOut led(LED_RED);
sivuu 0:b7cb5d3978b5 5 DigitalOut led2(LED_BLUE);
sivuu 2:4dcdf7755a04 6 InterruptIn sw3(SW3);
sivuu 0:b7cb5d3978b5 7 Serial pc(USBTX, USBRX);
sivuu 4:2b3fbd7ef1cf 8 DigitalOut motor1(D4);
sivuu 4:2b3fbd7ef1cf 9 PwmOut pwm_motor1(D5);
sivuu 4:2b3fbd7ef1cf 10 DigitalOut motor2(D7);
sivuu 4:2b3fbd7ef1cf 11 PwmOut pwm_motor2(D6);
sivuu 2:4dcdf7755a04 12 int n = 0;
sivuu 2:4dcdf7755a04 13
sivuu 3:34f7c16a6a7f 14 void SwitchN() { // maakt simpele functie die 1 bij n optelt
sivuu 2:4dcdf7755a04 15 n++;
sivuu 2:4dcdf7755a04 16 }
sivuu 2:4dcdf7755a04 17
sivuu 0:b7cb5d3978b5 18 int main()
sivuu 0:b7cb5d3978b5 19 {
sivuu 3:34f7c16a6a7f 20 pc.baud(115200); // zorgt voor de link voor putty
sivuu 3:34f7c16a6a7f 21
sivuu 3:34f7c16a6a7f 22 while (true) { // zorgt er voor dat de code oneindig doorgelopen wordt
sivuu 2:4dcdf7755a04 23
sivuu 3:34f7c16a6a7f 24 sw3.fall(&SwitchN); // zorrgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt
sivuu 0:b7cb5d3978b5 25
sivuu 3:34f7c16a6a7f 26 char c = pc.getc(); // zorgt ervoor dat er in het toetsenboard characters gebruikt kunnen worden
sivuu 0:b7cb5d3978b5 27
sivuu 3:34f7c16a6a7f 28 if (c=='s') // als s ingedrukt wordt gebeurd het volgende
sivuu 3:34f7c16a6a7f 29 {
sivuu 3:34f7c16a6a7f 30 if (n%2==0) // als s ingedrukt wordt en het getal is even gebeurd het onderstaande
sivuu 3:34f7c16a6a7f 31 {
sivuu 3:34f7c16a6a7f 32 pc.printf("n is even \n\r"); // print lijn "n is even"
sivuu 4:2b3fbd7ef1cf 33 pc.printf("up \n\r"); // print lijn "up"
sivuu 4:2b3fbd7ef1cf 34 motor1 = 1;
sivuu 4:2b3fbd7ef1cf 35 pwm_motor1 = 1;
sivuu 4:2b3fbd7ef1cf 36 wait (0.05);
sivuu 5:d1d65e16fd9e 37 pwm_motor1 = 0.75;
sivuu 5:d1d65e16fd9e 38 wait (0.01);
sivuu 5:d1d65e16fd9e 39 pwm_motor1 = 0.5;
sivuu 5:d1d65e16fd9e 40 wait (0.01);
sivuu 5:d1d65e16fd9e 41 pwm_motor1 = 0.25;
sivuu 5:d1d65e16fd9e 42 wait (0.01);
sivuu 5:d1d65e16fd9e 43 pwm_motor1 = 0;
sivuu 3:34f7c16a6a7f 44 }
sivuu 3:34f7c16a6a7f 45 else // als s is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande
sivuu 3:34f7c16a6a7f 46 {
sivuu 3:34f7c16a6a7f 47 pc.printf("n is odd \n\r"); // print lijn "n is odd"
sivuu 3:34f7c16a6a7f 48 pc.printf("left \n\r"); // print lijn "left"
sivuu 4:2b3fbd7ef1cf 49 motor2 = 1;
sivuu 4:2b3fbd7ef1cf 50 pwm_motor2 = 1;
sivuu 4:2b3fbd7ef1cf 51 wait (0.05);
sivuu 5:d1d65e16fd9e 52 pwm_motor2 = 0.75;
sivuu 5:d1d65e16fd9e 53 wait (0.01);
sivuu 5:d1d65e16fd9e 54 pwm_motor2 = 0.5;
sivuu 5:d1d65e16fd9e 55 wait (0.01);
sivuu 5:d1d65e16fd9e 56 pwm_motor2 = 0.25;
sivuu 5:d1d65e16fd9e 57 wait (0.01);
sivuu 5:d1d65e16fd9e 58 pwm_motor2 = 0;
sivuu 5:d1d65e16fd9e 59 }
sivuu 3:34f7c16a6a7f 60 }
sivuu 3:34f7c16a6a7f 61 else if (c=='d') // als d ingedrukt wordt gebeurd het volgende
sivuu 3:34f7c16a6a7f 62 {
sivuu 3:34f7c16a6a7f 63 if (n%2==0) // als d is ingedrukt en n is even dan gebeurd het volgende
sivuu 3:34f7c16a6a7f 64 {
sivuu 3:34f7c16a6a7f 65 pc.printf("n is even \n\r"); // print lijn "n is even"
sivuu 3:34f7c16a6a7f 66 pc.printf("down \n\r"); // print lijn "down"
sivuu 4:2b3fbd7ef1cf 67 motor1 = 0;
sivuu 4:2b3fbd7ef1cf 68 pwm_motor1 = 1;
sivuu 4:2b3fbd7ef1cf 69 wait (0.05);
sivuu 5:d1d65e16fd9e 70 pwm_motor1 = 0.75;
sivuu 5:d1d65e16fd9e 71 wait (0.01);
sivuu 5:d1d65e16fd9e 72 pwm_motor1 = 0.5;
sivuu 5:d1d65e16fd9e 73 wait (0.01);
sivuu 5:d1d65e16fd9e 74 pwm_motor1 = 0.25;
sivuu 5:d1d65e16fd9e 75 wait (0.01);
sivuu 5:d1d65e16fd9e 76 pwm_motor1 = 0;
sivuu 3:34f7c16a6a7f 77 }
sivuu 3:34f7c16a6a7f 78 else // als d is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande
sivuu 3:34f7c16a6a7f 79 {
sivuu 3:34f7c16a6a7f 80 pc.printf("n is odd \n\r"); // print lijn "n is odd"
sivuu 3:34f7c16a6a7f 81 pc.printf("right \n\r"); // print lijn "right"
sivuu 4:2b3fbd7ef1cf 82 motor2 = 0;
sivuu 4:2b3fbd7ef1cf 83 pwm_motor2 = 1;
sivuu 5:d1d65e16fd9e 84 wait (0.05);
sivuu 5:d1d65e16fd9e 85 pwm_motor2 = 0.75;
sivuu 5:d1d65e16fd9e 86 wait (0.01);
sivuu 5:d1d65e16fd9e 87 pwm_motor2 = 0.5;
sivuu 5:d1d65e16fd9e 88 wait (0.01);
sivuu 5:d1d65e16fd9e 89 pwm_motor2 = 0.25;
sivuu 5:d1d65e16fd9e 90 wait (0.01);
sivuu 5:d1d65e16fd9e 91 pwm_motor2 = 0;
sivuu 5:d1d65e16fd9e 92 }
sivuu 3:34f7c16a6a7f 93 }
sivuu 3:34f7c16a6a7f 94
sivuu 0:b7cb5d3978b5 95 }
sivuu 3:34f7c16a6a7f 96 }
sivuu 3:34f7c16a6a7f 97