Control Motor A and B with buttons

Dependencies:   Motordriver QEI mbed

main.cpp

Committer:
meikefrok
Date:
2016-10-03
Revision:
0:442257145c29

File content as of revision 0:442257145c29:

#include "mbed.h"
#include "motordriver.h"

//LED
//*Note: false = on, true = off*
DigitalOut ledB(LED_BLUE);
DigitalOut ledR(LED_RED);
DigitalOut ledG(LED_GREEN);


//Safety for Motor
int Brakeable; //cna the motor driver break
int sign; //prevents throwing the motor from full foward to full reverse and stuff melting.

//Motor
Motor A(D6, D7, D7, Brakeable); // pwm, fwd, rev, brake
Motor B(D5, D4, D4, Brakeable); // pwm, fwd, rev, brake


//Button
InterruptIn btn(SW2);
InterruptIn btn2(SW3);


int main() {

  while(true) {
           
        if(btn && btn2) {                   //If SW2 and SW3 aren't pressed
            A.speed(0) == 0;               //If speed is 0, the motor doensn't rotate.
            B.speed(0) == 0;             
            ledR = false;                   
            ledG = true;                    
            ledB = true;                    
        } else if (btn && !btn2) {          //If SW3 is pressed
            A.speed(0.1) == 0.1;           //If the speed is positive, the motor rotates left/right. The maximum speed is 1.
            B.speed(0.1) == 0.1;
            ledR = true;
            ledG = false;
            ledB = true;            
        } else if (!btn && btn2) {          //If SW2 is pressed
            A.speed(-0.1) == -0.1;          //If the speed is negative, the motor rotates left/right. The maximum speed is -1.
            B.speed(-0.1) == -0.1;
            ledR = true;
            ledG = true;
            ledB = false;            
        } else {                            //If SW2 and SW3 are pressed
            A.speed(0) == 0;               //If speed is 0, the motor doensn't rotate.
            B.speed(0) == 0;
            ledR = true;
            ledG = true;
            ledB = true;
        }

      }
    }