Code

Dependencies:   mbed QEI MPU6050 TextLCD

Committer:
belsarekaiwalya
Date:
Tue Mar 14 15:34:06 2017 +0000
Revision:
2:156f4732fbf1
Parent:
1:59c416ccba42
Child:
3:86145fd89b45
Without debug elements ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
belsarekaiwalya 0:c9c8c027609e 1 #include "mbed.h"
belsarekaiwalya 0:c9c8c027609e 2 #include "TextLCD.h"
belsarekaiwalya 0:c9c8c027609e 3 TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // rs, e, d4-d7
belsarekaiwalya 1:59c416ccba42 4 DigitalOut dirRa(PB_3);
belsarekaiwalya 1:59c416ccba42 5 DigitalOut dirRb(PB_5);
belsarekaiwalya 1:59c416ccba42 6 DigitalOut dirLa(PB_4);
belsarekaiwalya 1:59c416ccba42 7 DigitalOut dirLb(PB_10);
belsarekaiwalya 1:59c416ccba42 8 PwmOut pwmL(PA_8);//left
belsarekaiwalya 1:59c416ccba42 9 PwmOut pwmR(PA_9);//right
belsarekaiwalya 0:c9c8c027609e 10
belsarekaiwalya 0:c9c8c027609e 11 Serial bt(PC_6,PC_7);//tx,rx
belsarekaiwalya 0:c9c8c027609e 12 PwmOut mypwm(LED1);
belsarekaiwalya 0:c9c8c027609e 13 DigitalOut myled(LED1);
belsarekaiwalya 0:c9c8c027609e 14 Serial serial(USBTX, USBRX);
belsarekaiwalya 0:c9c8c027609e 15
belsarekaiwalya 0:c9c8c027609e 16 int ch ;
belsarekaiwalya 0:c9c8c027609e 17 int main()
belsarekaiwalya 0:c9c8c027609e 18 {
belsarekaiwalya 0:c9c8c027609e 19 bt.baud(9600);
belsarekaiwalya 0:c9c8c027609e 20 serial.baud(9600);
belsarekaiwalya 1:59c416ccba42 21 void brake();
belsarekaiwalya 0:c9c8c027609e 22 while(1)
belsarekaiwalya 0:c9c8c027609e 23 {
belsarekaiwalya 0:c9c8c027609e 24 if(bt.readable())
belsarekaiwalya 0:c9c8c027609e 25 {
belsarekaiwalya 0:c9c8c027609e 26 ch = bt.getc();
belsarekaiwalya 0:c9c8c027609e 27 lcd.cls();
belsarekaiwalya 0:c9c8c027609e 28 switch(ch)
belsarekaiwalya 0:c9c8c027609e 29 {
belsarekaiwalya 1:59c416ccba42 30 case 'w'://Front
belsarekaiwalya 1:59c416ccba42 31 void front();
belsarekaiwalya 1:59c416ccba42 32 dirRa = 1;
belsarekaiwalya 1:59c416ccba42 33 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 34 dirLa = 1;
belsarekaiwalya 1:59c416ccba42 35 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 36 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 37 pwmL=0.5;
belsarekaiwalya 1:59c416ccba42 38 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 39 pwmR=0.5;
belsarekaiwalya 1:59c416ccba42 40
belsarekaiwalya 0:c9c8c027609e 41 lcd.cls();
belsarekaiwalya 0:c9c8c027609e 42 serial.printf("Forward\n");
belsarekaiwalya 0:c9c8c027609e 43 lcd.locate(1,0);
belsarekaiwalya 0:c9c8c027609e 44 lcd.printf("Forward\n");
belsarekaiwalya 0:c9c8c027609e 45 break;
belsarekaiwalya 0:c9c8c027609e 46
belsarekaiwalya 1:59c416ccba42 47 case 'a'://Left
belsarekaiwalya 1:59c416ccba42 48 dirRa = 1;
belsarekaiwalya 1:59c416ccba42 49 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 50 dirLa = 0;
belsarekaiwalya 1:59c416ccba42 51 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 52 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 53 pwmL=0;
belsarekaiwalya 1:59c416ccba42 54 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 55 pwmR=0.5;
belsarekaiwalya 1:59c416ccba42 56
belsarekaiwalya 1:59c416ccba42 57 lcd.cls();
belsarekaiwalya 1:59c416ccba42 58 serial.printf("Left\n");
belsarekaiwalya 1:59c416ccba42 59 lcd.locate(1,0);
belsarekaiwalya 1:59c416ccba42 60 lcd.printf("Left\n");
belsarekaiwalya 1:59c416ccba42 61 //void left();
belsarekaiwalya 0:c9c8c027609e 62 break;
belsarekaiwalya 0:c9c8c027609e 63
belsarekaiwalya 1:59c416ccba42 64 case 's'://Back
belsarekaiwalya 1:59c416ccba42 65 dirRa = 0;
belsarekaiwalya 1:59c416ccba42 66 dirRb = 1;
belsarekaiwalya 1:59c416ccba42 67 dirLa = 0;
belsarekaiwalya 1:59c416ccba42 68 dirLb = 1;
belsarekaiwalya 1:59c416ccba42 69 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 70 pwmL=0.5;
belsarekaiwalya 1:59c416ccba42 71 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 72 pwmR=0.5;
belsarekaiwalya 1:59c416ccba42 73
belsarekaiwalya 0:c9c8c027609e 74 lcd.cls();
belsarekaiwalya 0:c9c8c027609e 75 serial.printf("Back\n");
belsarekaiwalya 0:c9c8c027609e 76 lcd.locate(1,0);
belsarekaiwalya 0:c9c8c027609e 77 lcd.printf("Back\n");
belsarekaiwalya 0:c9c8c027609e 78 void back();
belsarekaiwalya 0:c9c8c027609e 79 break;
belsarekaiwalya 0:c9c8c027609e 80
belsarekaiwalya 1:59c416ccba42 81 case 'd'://Right
belsarekaiwalya 1:59c416ccba42 82 dirRa = 0;
belsarekaiwalya 1:59c416ccba42 83 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 84 dirLa = 1;
belsarekaiwalya 1:59c416ccba42 85 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 86 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 87 pwmL=0.5f;
belsarekaiwalya 1:59c416ccba42 88 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 89 pwmR=0;
belsarekaiwalya 1:59c416ccba42 90
belsarekaiwalya 0:c9c8c027609e 91 lcd.cls();
belsarekaiwalya 0:c9c8c027609e 92 serial.printf("Right\n");
belsarekaiwalya 0:c9c8c027609e 93 lcd.locate(1,0);
belsarekaiwalya 0:c9c8c027609e 94 lcd.printf("Right\n");
belsarekaiwalya 0:c9c8c027609e 95 void right();
belsarekaiwalya 0:c9c8c027609e 96 break;
belsarekaiwalya 0:c9c8c027609e 97
belsarekaiwalya 1:59c416ccba42 98 case 'O'://Stop
belsarekaiwalya 1:59c416ccba42 99 dirRa = 1;
belsarekaiwalya 1:59c416ccba42 100 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 101 dirLa = 1;
belsarekaiwalya 1:59c416ccba42 102 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 103 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 104 pwmL=0;
belsarekaiwalya 1:59c416ccba42 105 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 106 pwmR=0;
belsarekaiwalya 1:59c416ccba42 107
belsarekaiwalya 1:59c416ccba42 108 lcd.cls();
belsarekaiwalya 1:59c416ccba42 109 serial.printf("STOP\n");
belsarekaiwalya 1:59c416ccba42 110 lcd.locate(1,0);
belsarekaiwalya 1:59c416ccba42 111 lcd.printf("STOP\n");
belsarekaiwalya 1:59c416ccba42 112 void Brake();
belsarekaiwalya 1:59c416ccba42 113 break;
belsarekaiwalya 1:59c416ccba42 114
belsarekaiwalya 1:59c416ccba42 115 case 'A'://Anticlock
belsarekaiwalya 1:59c416ccba42 116 dirRa = 1;
belsarekaiwalya 1:59c416ccba42 117 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 118 dirLa = 0;
belsarekaiwalya 1:59c416ccba42 119 dirLb = 1;
belsarekaiwalya 1:59c416ccba42 120 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 121 pwmL=0.5;
belsarekaiwalya 1:59c416ccba42 122 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 123 pwmR=0.5;
belsarekaiwalya 1:59c416ccba42 124
belsarekaiwalya 1:59c416ccba42 125 lcd.cls();
belsarekaiwalya 1:59c416ccba42 126 serial.printf("AntiClock\n");
belsarekaiwalya 1:59c416ccba42 127 lcd.locate(1,0);
belsarekaiwalya 1:59c416ccba42 128 lcd.printf("AntiClock\n");
belsarekaiwalya 1:59c416ccba42 129 break;
belsarekaiwalya 1:59c416ccba42 130
belsarekaiwalya 1:59c416ccba42 131 case 'C'://Clock
belsarekaiwalya 1:59c416ccba42 132 dirRa = 0;
belsarekaiwalya 1:59c416ccba42 133 dirRb = 1;
belsarekaiwalya 1:59c416ccba42 134 dirLa = 1;
belsarekaiwalya 1:59c416ccba42 135 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 136 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 137 pwmL=0.5f;
belsarekaiwalya 1:59c416ccba42 138 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 139 pwmR=0.5f;
belsarekaiwalya 1:59c416ccba42 140
belsarekaiwalya 1:59c416ccba42 141 lcd.cls();
belsarekaiwalya 1:59c416ccba42 142 serial.printf("Clock\n");
belsarekaiwalya 1:59c416ccba42 143 lcd.locate(1,0);
belsarekaiwalya 1:59c416ccba42 144 lcd.printf("Clock\n");
belsarekaiwalya 1:59c416ccba42 145 break;
belsarekaiwalya 1:59c416ccba42 146
belsarekaiwalya 1:59c416ccba42 147
belsarekaiwalya 1:59c416ccba42 148
belsarekaiwalya 1:59c416ccba42 149
belsarekaiwalya 1:59c416ccba42 150
belsarekaiwalya 0:c9c8c027609e 151 default:
belsarekaiwalya 0:c9c8c027609e 152 serial.printf("Brake");
belsarekaiwalya 0:c9c8c027609e 153 lcd.cls();
belsarekaiwalya 0:c9c8c027609e 154 lcd.locate(1,0);
belsarekaiwalya 0:c9c8c027609e 155 lcd.printf("Brake");
belsarekaiwalya 0:c9c8c027609e 156 void brake();
belsarekaiwalya 0:c9c8c027609e 157
belsarekaiwalya 0:c9c8c027609e 158 }
belsarekaiwalya 0:c9c8c027609e 159
belsarekaiwalya 0:c9c8c027609e 160 }
belsarekaiwalya 0:c9c8c027609e 161
belsarekaiwalya 0:c9c8c027609e 162 //serial.printf("%c\n",ch);
belsarekaiwalya 0:c9c8c027609e 163 }
belsarekaiwalya 0:c9c8c027609e 164 }
belsarekaiwalya 0:c9c8c027609e 165 void front()
belsarekaiwalya 0:c9c8c027609e 166 {
belsarekaiwalya 1:59c416ccba42 167
belsarekaiwalya 1:59c416ccba42 168 dirRa = 1;
belsarekaiwalya 1:59c416ccba42 169 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 170 dirLa = 1;
belsarekaiwalya 1:59c416ccba42 171 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 172 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 173 pwmL=0.5;
belsarekaiwalya 1:59c416ccba42 174 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 175 pwmR=0.5;
belsarekaiwalya 0:c9c8c027609e 176
belsarekaiwalya 0:c9c8c027609e 177 }
belsarekaiwalya 0:c9c8c027609e 178 void brake()
belsarekaiwalya 0:c9c8c027609e 179 {
belsarekaiwalya 1:59c416ccba42 180 dirRa = 0;
belsarekaiwalya 1:59c416ccba42 181 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 182 dirLa = 0;
belsarekaiwalya 1:59c416ccba42 183 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 184 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 185 pwmL=0.0;
belsarekaiwalya 1:59c416ccba42 186 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 187 pwmR=0.0;
belsarekaiwalya 0:c9c8c027609e 188
belsarekaiwalya 0:c9c8c027609e 189 }
belsarekaiwalya 0:c9c8c027609e 190 void back()
belsarekaiwalya 0:c9c8c027609e 191 {
belsarekaiwalya 1:59c416ccba42 192 dirRa = 0;
belsarekaiwalya 1:59c416ccba42 193 dirRb = 1;
belsarekaiwalya 1:59c416ccba42 194 dirLa = 0;
belsarekaiwalya 1:59c416ccba42 195 dirLb = 1;
belsarekaiwalya 1:59c416ccba42 196 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 197 pwmL=0.5;
belsarekaiwalya 1:59c416ccba42 198 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 199 pwmR=0.5;
belsarekaiwalya 0:c9c8c027609e 200
belsarekaiwalya 0:c9c8c027609e 201 }
belsarekaiwalya 0:c9c8c027609e 202 void left()
belsarekaiwalya 0:c9c8c027609e 203 {
belsarekaiwalya 1:59c416ccba42 204 dirRa = 0;
belsarekaiwalya 1:59c416ccba42 205 dirRb = 1;
belsarekaiwalya 1:59c416ccba42 206 dirLa = 0;
belsarekaiwalya 1:59c416ccba42 207 dirLb = 0;
belsarekaiwalya 1:59c416ccba42 208 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 209 pwmL=0.5;
belsarekaiwalya 1:59c416ccba42 210 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 211 pwmR=0.0;
belsarekaiwalya 0:c9c8c027609e 212
belsarekaiwalya 0:c9c8c027609e 213 }
belsarekaiwalya 0:c9c8c027609e 214 void right()
belsarekaiwalya 0:c9c8c027609e 215 {
belsarekaiwalya 1:59c416ccba42 216 dirRa = 0;
belsarekaiwalya 1:59c416ccba42 217 dirRb = 0;
belsarekaiwalya 1:59c416ccba42 218 dirLa = 0;
belsarekaiwalya 1:59c416ccba42 219 dirLb = 1;
belsarekaiwalya 1:59c416ccba42 220 pwmL.period_ms(1);
belsarekaiwalya 1:59c416ccba42 221 pwmL=0.0f;
belsarekaiwalya 1:59c416ccba42 222 pwmR.period_ms(1);
belsarekaiwalya 1:59c416ccba42 223 pwmR=0.5f;
belsarekaiwalya 0:c9c8c027609e 224
belsarekaiwalya 0:c9c8c027609e 225 }