An m3pi demo program for Bluetooth control.

Dependencies:   X_NUCLEO_53L0A1 m3pi mbed

Fork of m3pi_LIDAR by Alexander Saad-Falcon

Committer:
alexsaadfalcon
Date:
Mon May 01 02:11:02 2017 +0000
Revision:
3:d5da5e6bc16f
Parent:
2:2d0d003ca3b8
Fully functional

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alexsaadfalcon 0:b7ef99889b44 1 #include "mbed.h"
alexsaadfalcon 0:b7ef99889b44 2 #include "m3pi.h"
alexsaadfalcon 0:b7ef99889b44 3
alexsaadfalcon 0:b7ef99889b44 4 m3pi m3pi;
alexsaadfalcon 2:2d0d003ca3b8 5 DigitalOut led(LED1);
alexsaadfalcon 3:d5da5e6bc16f 6 DigitalOut pong(p20);
alexsaadfalcon 2:2d0d003ca3b8 7 Serial bt(p13, p14); //TX, RX
alexsaadfalcon 0:b7ef99889b44 8
alexsaadfalcon 3:d5da5e6bc16f 9 int main()
alexsaadfalcon 3:d5da5e6bc16f 10 {
alexsaadfalcon 3:d5da5e6bc16f 11 m3pi.locate(0,1);
alexsaadfalcon 0:b7ef99889b44 12 m3pi.printf("YO");
alexsaadfalcon 3:d5da5e6bc16f 13
alexsaadfalcon 2:2d0d003ca3b8 14 bt.baud(9600); //make sure the baud rate is 9600
alexsaadfalcon 2:2d0d003ca3b8 15 while (!bt.readable()) { } //wait until the bt is ready
alexsaadfalcon 2:2d0d003ca3b8 16
alexsaadfalcon 0:b7ef99889b44 17 while(1) {
alexsaadfalcon 3:d5da5e6bc16f 18 led = !led;
alexsaadfalcon 3:d5da5e6bc16f 19 if (bt.getc() == '!') {
alexsaadfalcon 3:d5da5e6bc16f 20 if (bt.getc() == 'O') {
alexsaadfalcon 3:d5da5e6bc16f 21 if (bt.getc()=='F') {
alexsaadfalcon 3:d5da5e6bc16f 22 m3pi.forward(.25);
alexsaadfalcon 3:d5da5e6bc16f 23 }
alexsaadfalcon 3:d5da5e6bc16f 24 if (bt.getc()=='B') {
alexsaadfalcon 3:d5da5e6bc16f 25 m3pi.backward(.25);
alexsaadfalcon 3:d5da5e6bc16f 26 }
alexsaadfalcon 3:d5da5e6bc16f 27 if (bt.getc()=='L') {
alexsaadfalcon 3:d5da5e6bc16f 28 m3pi.left(.25);
alexsaadfalcon 3:d5da5e6bc16f 29 }
alexsaadfalcon 3:d5da5e6bc16f 30 if (bt.getc()=='R') {
alexsaadfalcon 3:d5da5e6bc16f 31 m3pi.right(.25);
alexsaadfalcon 3:d5da5e6bc16f 32 }
alexsaadfalcon 3:d5da5e6bc16f 33 if (bt.getc()=='S') {
alexsaadfalcon 3:d5da5e6bc16f 34 m3pi.stop();
alexsaadfalcon 3:d5da5e6bc16f 35 }
alexsaadfalcon 3:d5da5e6bc16f 36 if (bt.getc()=='X') {
alexsaadfalcon 3:d5da5e6bc16f 37 pong = 1;
alexsaadfalcon 3:d5da5e6bc16f 38 wait(.001);
alexsaadfalcon 3:d5da5e6bc16f 39 pong = 0;
alexsaadfalcon 3:d5da5e6bc16f 40 }
alexsaadfalcon 3:d5da5e6bc16f 41 }
alexsaadfalcon 2:2d0d003ca3b8 42 }
alexsaadfalcon 3:d5da5e6bc16f 43 while (bt.readable()) char temp = bt.getc(); //flush buffer
alexsaadfalcon 2:2d0d003ca3b8 44 }
alexsaadfalcon 0:b7ef99889b44 45 }