![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Code
Dependencies: mbed QEI MPU6050 TextLCD
main.cpp@2:156f4732fbf1, 2017-03-14 (annotated)
- 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?
User | Revision | Line number | New 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 | } |