![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Code
Dependencies: mbed QEI MPU6050 TextLCD
main.cpp
- Committer:
- belsarekaiwalya
- Date:
- 2017-03-14
- Revision:
- 2:156f4732fbf1
- Parent:
- 1:59c416ccba42
- Child:
- 3:86145fd89b45
File content as of revision 2:156f4732fbf1:
#include "mbed.h" #include "TextLCD.h" TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // rs, e, d4-d7 DigitalOut dirRa(PB_3); DigitalOut dirRb(PB_5); DigitalOut dirLa(PB_4); DigitalOut dirLb(PB_10); PwmOut pwmL(PA_8);//left PwmOut pwmR(PA_9);//right Serial bt(PC_6,PC_7);//tx,rx PwmOut mypwm(LED1); DigitalOut myled(LED1); Serial serial(USBTX, USBRX); int ch ; int main() { bt.baud(9600); serial.baud(9600); void brake(); while(1) { if(bt.readable()) { ch = bt.getc(); lcd.cls(); switch(ch) { case 'w'://Front void front(); dirRa = 1; dirRb = 0; dirLa = 1; dirLb = 0; pwmL.period_ms(1); pwmL=0.5; pwmR.period_ms(1); pwmR=0.5; lcd.cls(); serial.printf("Forward\n"); lcd.locate(1,0); lcd.printf("Forward\n"); break; case 'a'://Left dirRa = 1; dirRb = 0; dirLa = 0; dirLb = 0; pwmL.period_ms(1); pwmL=0; pwmR.period_ms(1); pwmR=0.5; lcd.cls(); serial.printf("Left\n"); lcd.locate(1,0); lcd.printf("Left\n"); //void left(); break; case 's'://Back dirRa = 0; dirRb = 1; dirLa = 0; dirLb = 1; pwmL.period_ms(1); pwmL=0.5; pwmR.period_ms(1); pwmR=0.5; lcd.cls(); serial.printf("Back\n"); lcd.locate(1,0); lcd.printf("Back\n"); void back(); break; case 'd'://Right dirRa = 0; dirRb = 0; dirLa = 1; dirLb = 0; pwmL.period_ms(1); pwmL=0.5f; pwmR.period_ms(1); pwmR=0; lcd.cls(); serial.printf("Right\n"); lcd.locate(1,0); lcd.printf("Right\n"); void right(); break; case 'O'://Stop dirRa = 1; dirRb = 0; dirLa = 1; dirLb = 0; pwmL.period_ms(1); pwmL=0; pwmR.period_ms(1); pwmR=0; lcd.cls(); serial.printf("STOP\n"); lcd.locate(1,0); lcd.printf("STOP\n"); void Brake(); break; case 'A'://Anticlock dirRa = 1; dirRb = 0; dirLa = 0; dirLb = 1; pwmL.period_ms(1); pwmL=0.5; pwmR.period_ms(1); pwmR=0.5; lcd.cls(); serial.printf("AntiClock\n"); lcd.locate(1,0); lcd.printf("AntiClock\n"); break; case 'C'://Clock dirRa = 0; dirRb = 1; dirLa = 1; dirLb = 0; pwmL.period_ms(1); pwmL=0.5f; pwmR.period_ms(1); pwmR=0.5f; lcd.cls(); serial.printf("Clock\n"); lcd.locate(1,0); lcd.printf("Clock\n"); break; default: serial.printf("Brake"); lcd.cls(); lcd.locate(1,0); lcd.printf("Brake"); void brake(); } } //serial.printf("%c\n",ch); } } void front() { dirRa = 1; dirRb = 0; dirLa = 1; dirLb = 0; pwmL.period_ms(1); pwmL=0.5; pwmR.period_ms(1); pwmR=0.5; } void brake() { dirRa = 0; dirRb = 0; dirLa = 0; dirLb = 0; pwmL.period_ms(1); pwmL=0.0; pwmR.period_ms(1); pwmR=0.0; } void back() { dirRa = 0; dirRb = 1; dirLa = 0; dirLb = 1; pwmL.period_ms(1); pwmL=0.5; pwmR.period_ms(1); pwmR=0.5; } void left() { dirRa = 0; dirRb = 1; dirLa = 0; dirLb = 0; pwmL.period_ms(1); pwmL=0.5; pwmR.period_ms(1); pwmR=0.0; } void right() { dirRa = 0; dirRb = 0; dirLa = 0; dirLb = 1; pwmL.period_ms(1); pwmL=0.0f; pwmR.period_ms(1); pwmR=0.5f; }