check Dit is basis, en wordt uitgebreid door sieb

Dependencies:   MODSERIAL QEI mbed

Fork of check_motoren_buttons_emg by Daniqe Kottelenberg

main.cpp

Committer:
daniQQue
Date:
2016-10-07
Revision:
16:611d2eb213e2
Parent:
15:cba0cf26475e

File content as of revision 16:611d2eb213e2:

#include "mbed.h" //standaard bieb mbed
#include "QEI.h"  //bieb voor encoderfuncties in c++
#include "MODSERIAL.h" //bieb voor modserial
InterruptIn sw3(SW3);
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 richting_motor2(D7);
PwmOut pwm_motor2(D6);
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, 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);                  // zorgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt
    
    
   
    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"   
           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"
           richting_motor2 = 1;
           pwm_motor2 = b;
           ledcw=1;
           ledccw=1;
         }      
              
    }
    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"   
           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"
           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;
    }              
      
           
}
}