An m3pi demo program for Bluetooth control.

Dependencies:   X_NUCLEO_53L0A1 m3pi mbed

Fork of m3pi_LIDAR by Alexander Saad-Falcon

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "m3pi.h"
00003 
00004 m3pi m3pi;
00005 DigitalOut led(LED1);
00006 DigitalOut pong(p20);
00007 Serial bt(p13, p14); //TX, RX
00008 
00009 int main()
00010 {
00011     m3pi.locate(0,1);
00012     m3pi.printf("YO");
00013 
00014     bt.baud(9600); //make sure the baud rate is 9600
00015     while (!bt.readable()) { } //wait until the bt is ready
00016 
00017     while(1) {
00018         led = !led;
00019         if (bt.getc() == '!') {
00020             if (bt.getc() == 'O') {
00021                 if (bt.getc()=='F') {
00022                     m3pi.forward(.25);
00023                 }
00024                 if (bt.getc()=='B') {
00025                     m3pi.backward(.25);
00026                 }
00027                 if (bt.getc()=='L') {
00028                     m3pi.left(.25);
00029                 }
00030                 if (bt.getc()=='R') {
00031                     m3pi.right(.25);
00032                 }
00033                 if (bt.getc()=='S') {
00034                     m3pi.stop();
00035                 }
00036                 if (bt.getc()=='X') {
00037                     pong = 1;
00038                     wait(.001);
00039                     pong = 0;
00040                 }
00041             }
00042         }
00043         while (bt.readable()) char temp = bt.getc(); //flush buffer
00044     }
00045 }