RioBotz / Mbed 2 deprecated PapacurasBluetooth

Dependencies:   mbed

main.cpp

Committer:
amaral99
Date:
2019-08-27
Revision:
0:8ee013fa99a5
Child:
1:7198bf0747eb

File content as of revision 0:8ee013fa99a5:

#include "mbed.h"

PwmOut pwm(p25);
DigitalOut dir (p26);
PwmOut pwm1(p24);
DigitalOut dir1 (p23);
DigitalIn button(p18);
DigitalOut led(p20);

Serial bt(p28, p27);

InterruptIn A (p21);
DigitalIn B (p22);

Ticker END;

int rightCount = 0;
int lastCount = 0;


void rightEncoderEvent (){
        if (B.read() == 0){
            rightCount++;
        }
        
        else{
            rightCount--;
        }
}

void Speed (void) {

    int realSpeed = (rightCount - lastCount);
    lastCount = rightCount;
    bt.printf("\n\rCount: %d ## Speed: %d",rightCount,realSpeed);
        
}

int main() {
    
    char ch;
    int speed = 1;
    bt.baud(9600);
    A.rise(&rightEncoderEvent);
    
    END.attach(&Speed, 1.0);

    pwm.period(0.01f);
    pwm1.period(0.01f);
    
    while (button.read()) {led = 1; wait(0.2); led=0; wait(0.2); }
    
    wait(2);
    
    pwm.write(0.0f);
    pwm1.write(0.0f);
    
    while(1) { 
    
    if(bt.readable())
        {
            ch=bt.getc();
            
            if (ch == 'l') { led = !led;}
            if (ch == 'w') { dir = 0; dir1 = 0; pwm.write((0.2*speed)); pwm1.write((0.2*speed)); wait (0.02);}
            if (ch == 's') { dir = 1; dir1 = 1; pwm.write((0.2*speed)); pwm1.write((0.2*speed)); wait(0.02);}
            if (ch == 'a') { dir = 0; dir1 = 1; pwm.write((0.2*speed)); pwm1.write((0.2*speed)); wait(0.02);}
            if (ch == 'd') { dir = 1; dir1 = 0; pwm.write((0.2*speed)); pwm1.write((0.2*speed)); wait(0.02);}
            if (ch == 'r') { 
            bt.printf("\n\rChose speed: "); 
            
            while(bt.readable()) {}
            ch =  bt.getc();
            speed = (int)ch - 48;
            bt.printf("\n\rActual speed: %d\n",speed);}
            
            //bt.printf("%c",ch);
            
            
        }
        //bt.printf("Count: ");
        //bt.printf("%d",rightCount);
        //bt.printf("\r\n");
        /*
            if (ch == 'S') { dir = 0; dir1 = 0; pwm.write(0.0f); pwm1.write(0.0f); }
            if (ch == 'F') { dir = 0; dir1 = 0; pwm.write(0.2f); pwm1.write(0.2f); }
            if (ch == 'G') { dir = 1; dir1 = 1; pwm.write(0.2f); pwm1.write(0.2f); }
            if (ch == 'L') { dir = 0; dir1 = 1; pwm.write(0.2f); pwm1.write(0.2f); }
            if (ch == 'R') { dir = 1; dir1 = 0; pwm.write(0.2f); pwm1.write(0.2f); }
        */
        pwm.write(0.0f);
    pwm1.write(0.0f);
    
        
        /*wait(0.5);  
        dir = 1;
        dir1 = 1;
        pwm.write(0.5f);
        pwm1.write(0.5f);
        wait(0.5);  
        dir = 0;
        dir1 = 0;
        pwm.write(0.5f);
        wait(0.5);*/
        
    }
}