ARM mbed Bluetooth Remote Car
Dependencies: HC_SR04_Ultrasonic_Library mbed
Android App source code and wiring: https://github.com/macdidi5/ARMmbedTurtleCar
main.cpp@0:a57144f199bb, 2015-04-22 (annotated)
- Committer:
- macdidi5
- Date:
- Wed Apr 22 04:40:03 2015 +0000
- Revision:
- 0:a57144f199bb
ARM mbed Bluetooth Remote Car
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
macdidi5 | 0:a57144f199bb | 1 | #include "mbed.h" |
macdidi5 | 0:a57144f199bb | 2 | #include "ultrasonic.h" |
macdidi5 | 0:a57144f199bb | 3 | |
macdidi5 | 0:a57144f199bb | 4 | DigitalOut dcm01(PTD1); |
macdidi5 | 0:a57144f199bb | 5 | DigitalOut dcm02(PTD3); |
macdidi5 | 0:a57144f199bb | 6 | DigitalOut dcm03(PTD2); |
macdidi5 | 0:a57144f199bb | 7 | DigitalOut dcm04(PTD0); |
macdidi5 | 0:a57144f199bb | 8 | |
macdidi5 | 0:a57144f199bb | 9 | #if defined(TARGET_LPC1768) |
macdidi5 | 0:a57144f199bb | 10 | Serial blue(p9, p10); // TX, RX |
macdidi5 | 0:a57144f199bb | 11 | #elif defined(TARGET_KL25Z) |
macdidi5 | 0:a57144f199bb | 12 | Serial blue(PTE0, PTE1); // TX, RX |
macdidi5 | 0:a57144f199bb | 13 | #endif |
macdidi5 | 0:a57144f199bb | 14 | |
macdidi5 | 0:a57144f199bb | 15 | void dist(int distance) |
macdidi5 | 0:a57144f199bb | 16 | { |
macdidi5 | 0:a57144f199bb | 17 | blue.printf("%d\r\n", distance); |
macdidi5 | 0:a57144f199bb | 18 | } |
macdidi5 | 0:a57144f199bb | 19 | |
macdidi5 | 0:a57144f199bb | 20 | ultrasonic mu(PTD4, PTA4, 0.5, 1, &dist); |
macdidi5 | 0:a57144f199bb | 21 | |
macdidi5 | 0:a57144f199bb | 22 | int main() { |
macdidi5 | 0:a57144f199bb | 23 | |
macdidi5 | 0:a57144f199bb | 24 | mu.startUpdates(); |
macdidi5 | 0:a57144f199bb | 25 | |
macdidi5 | 0:a57144f199bb | 26 | dcm01 = 0; |
macdidi5 | 0:a57144f199bb | 27 | dcm02 = 0; |
macdidi5 | 0:a57144f199bb | 28 | dcm03 = 0; |
macdidi5 | 0:a57144f199bb | 29 | dcm04 = 0; |
macdidi5 | 0:a57144f199bb | 30 | |
macdidi5 | 0:a57144f199bb | 31 | blue.baud(115200); |
macdidi5 | 0:a57144f199bb | 32 | |
macdidi5 | 0:a57144f199bb | 33 | while(1) { |
macdidi5 | 0:a57144f199bb | 34 | if (blue.readable()) |
macdidi5 | 0:a57144f199bb | 35 | { |
macdidi5 | 0:a57144f199bb | 36 | char command = blue.getc(); |
macdidi5 | 0:a57144f199bb | 37 | |
macdidi5 | 0:a57144f199bb | 38 | switch (command) |
macdidi5 | 0:a57144f199bb | 39 | { |
macdidi5 | 0:a57144f199bb | 40 | // forward |
macdidi5 | 0:a57144f199bb | 41 | case 'F': |
macdidi5 | 0:a57144f199bb | 42 | dcm01 = 1; |
macdidi5 | 0:a57144f199bb | 43 | dcm02 = 0; |
macdidi5 | 0:a57144f199bb | 44 | dcm03 = 1; |
macdidi5 | 0:a57144f199bb | 45 | dcm04 = 0; |
macdidi5 | 0:a57144f199bb | 46 | break; |
macdidi5 | 0:a57144f199bb | 47 | // backward |
macdidi5 | 0:a57144f199bb | 48 | case 'B': |
macdidi5 | 0:a57144f199bb | 49 | dcm01 = 0; |
macdidi5 | 0:a57144f199bb | 50 | dcm02 = 1; |
macdidi5 | 0:a57144f199bb | 51 | dcm03 = 0; |
macdidi5 | 0:a57144f199bb | 52 | dcm04 = 1; |
macdidi5 | 0:a57144f199bb | 53 | break; |
macdidi5 | 0:a57144f199bb | 54 | // LEFT |
macdidi5 | 0:a57144f199bb | 55 | case 'L': |
macdidi5 | 0:a57144f199bb | 56 | dcm01 = 1; |
macdidi5 | 0:a57144f199bb | 57 | dcm02 = 0; |
macdidi5 | 0:a57144f199bb | 58 | dcm03 = 0; |
macdidi5 | 0:a57144f199bb | 59 | dcm04 = 1; |
macdidi5 | 0:a57144f199bb | 60 | break; |
macdidi5 | 0:a57144f199bb | 61 | // right |
macdidi5 | 0:a57144f199bb | 62 | case 'R': |
macdidi5 | 0:a57144f199bb | 63 | dcm01 = 0; |
macdidi5 | 0:a57144f199bb | 64 | dcm02 = 1; |
macdidi5 | 0:a57144f199bb | 65 | dcm03 = 1; |
macdidi5 | 0:a57144f199bb | 66 | dcm04 = 0; |
macdidi5 | 0:a57144f199bb | 67 | break; |
macdidi5 | 0:a57144f199bb | 68 | // stop |
macdidi5 | 0:a57144f199bb | 69 | case 'S': |
macdidi5 | 0:a57144f199bb | 70 | dcm01 = 0; |
macdidi5 | 0:a57144f199bb | 71 | dcm02 = 0; |
macdidi5 | 0:a57144f199bb | 72 | dcm03 = 0; |
macdidi5 | 0:a57144f199bb | 73 | dcm04 = 0; |
macdidi5 | 0:a57144f199bb | 74 | break; |
macdidi5 | 0:a57144f199bb | 75 | } |
macdidi5 | 0:a57144f199bb | 76 | } |
macdidi5 | 0:a57144f199bb | 77 | |
macdidi5 | 0:a57144f199bb | 78 | mu.checkDistance(); |
macdidi5 | 0:a57144f199bb | 79 | } |
macdidi5 | 0:a57144f199bb | 80 | } |