ARM mbed Bluetooth Remote Car

Dependencies:   HC_SR04_Ultrasonic_Library mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "ultrasonic.h"
00003 
00004 DigitalOut dcm01(PTD1);
00005 DigitalOut dcm02(PTD3);
00006 DigitalOut dcm03(PTD2);
00007 DigitalOut dcm04(PTD0);
00008 
00009 #if   defined(TARGET_LPC1768)
00010 Serial blue(p9, p10);   // TX, RX
00011 #elif defined(TARGET_KL25Z)
00012 Serial blue(PTE0, PTE1);   // TX, RX
00013 #endif
00014 
00015 void dist(int distance)
00016 {   
00017     blue.printf("%d\r\n", distance);
00018 }
00019 
00020 ultrasonic mu(PTD4, PTA4, 0.5, 1, &dist);
00021 
00022 int main() {
00023     
00024     mu.startUpdates();
00025     
00026     dcm01 = 0;
00027     dcm02 = 0;
00028     dcm03 = 0;
00029     dcm04 = 0;
00030     
00031     blue.baud(115200);
00032     
00033     while(1) {
00034         if (blue.readable()) 
00035         {
00036             char command = blue.getc();
00037             
00038             switch (command) 
00039             {
00040                 // forward
00041                 case 'F':
00042                     dcm01 = 1;
00043                     dcm02 = 0;
00044                     dcm03 = 1;
00045                     dcm04 = 0;
00046                     break;
00047                 // backward
00048                 case 'B':
00049                     dcm01 = 0;
00050                     dcm02 = 1;
00051                     dcm03 = 0;
00052                     dcm04 = 1;
00053                     break;
00054                 // LEFT
00055                 case 'L':
00056                     dcm01 = 1;
00057                     dcm02 = 0;
00058                     dcm03 = 0;
00059                     dcm04 = 1;
00060                     break;
00061                 // right
00062                 case 'R':
00063                     dcm01 = 0;
00064                     dcm02 = 1;
00065                     dcm03 = 1;
00066                     dcm04 = 0;
00067                     break;
00068                 // stop
00069                 case 'S':
00070                     dcm01 = 0;
00071                     dcm02 = 0;
00072                     dcm03 = 0;
00073                     dcm04 = 0;
00074                     break;
00075             }
00076         }
00077         
00078         mu.checkDistance();
00079     }
00080 }