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

main.cpp

Committer:
sivuu
Date:
2016-09-30
Revision:
10:06d0fe6b3bcf
Parent:
9:4870f0e789f8
Child:
12:7903c0e55cd7

File content as of revision 10:06d0fe6b3bcf:

#include "mbed.h"
//#include "MODSERIAL.h"
 
//DigitalOut led(LED_RED);
//DigitalOut led2(LED_BLUE);
InterruptIn sw3(SW3);
Serial pc(USBTX, USBRX);
DigitalOut motor1(D4);
PwmOut pwm_motor1(D5);
DigitalOut motor2(D7);
PwmOut pwm_motor2(D6);
int n = 0;
 
void SwitchN() {                        // maakt simpele functie die 1 bij n optelt
    n++;
    }
 
int main()
{
  pc.baud(115200);                      // zorgt voor de link voor putty
  
  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
    
    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 (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.
         } 
         
         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
         }      
              
    }
    else if (c=='d')                     // 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
         } 
         
         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
         }     
                     
    }    
           
}
}