ARM mbed Bluetooth Remote Car

Dependencies:   HC_SR04_Ultrasonic_Library mbed

Android App source code and wiring: https://github.com/macdidi5/ARMmbedTurtleCar

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?

UserRevisionLine numberNew 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 }