An m3pi demo program for Bluetooth control.
Dependencies: X_NUCLEO_53L0A1 m3pi mbed
Fork of m3pi_LIDAR by
Revision 2:2d0d003ca3b8, committed 2017-04-30
- Comitter:
- alexsaadfalcon
- Date:
- Sun Apr 30 23:08:34 2017 +0000
- Parent:
- 1:3cb52320663a
- Child:
- 3:d5da5e6bc16f
- Commit message:
- First commit
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Apr 30 23:07:19 2017 +0000
+++ b/main.cpp Sun Apr 30 23:08:34 2017 +0000
@@ -1,54 +1,35 @@
#include "mbed.h"
#include "m3pi.h"
-#include "x_nucleo_53l0a1.h"
-#include <stdio.h>
-
-/* This VL53L0X Expansion board test application performs a range measurement in polling mode
- on the onboard embedded top sensor. */
-
-#define VL53L0_I2C_SDA D14
-#define VL53L0_I2C_SCL D15
-
-static X_NUCLEO_53L0A1 *board=NULL;
-
-
-//VIN -- VOUT
-//GND -- GND
-//SDA -- p9
-//SCA -- p10
m3pi m3pi;
-DigitalOut led1(LED1);
-DigitalOut led2(LED2);
+DigitalOut led(LED1);
+Serial bt(p13, p14); //TX, RX
int main() {
- //LIDAR setup
- int status;
- uint32_t distance;
- DevI2C *device_i2c =new DevI2C(p28, p27);
- /* creates the 53L0A1 expansion board singleton obj */
- board = X_NUCLEO_53L0A1::Instance(device_i2c,p21,p21,p21);
- /* init the 53L0A1 expansion board with default values */
- status=board->InitBoard();
-
- if(status) { led1 = 1; return 0; }
-
- m3pi.locate(0,1);
+ m3pi.locate(0,5);
m3pi.printf("YO");
+ bt.baud(9600); //make sure the baud rate is 9600
+ while (!bt.readable()) { } //wait until the bt is ready
+
while(1) {
- status = board->sensor_centre->GetDistance(&distance);
- if (status == VL53L0X_ERROR_NONE) {
- m3pi.locate(0,1);
- m3pi.printf("%u", distance);
- printf("%u\r\n", distance);
- if (distance > 50) {
- m3pi.forward(.1);
- led2 = 1;
- } else {
- m3pi.stop();
- led2 = 0;
- }
- }
- }
+ if (bt.getc()=='F') {
+ m3pi.forward(.25);
+ }
+ if (bt.getc()=='B') {
+ m3pi.backward(.25);
+ }
+ if (bt.getc()=='L') {
+ m3pi.left(.25);
+ }
+ if (bt.getc()=='R') {
+ m3pi.right(.25);
+ }
+ if (bt.getc()=='S') {
+ m3pi.stop();
+ }
+ if (bt.getc()=='X') {
+ //launch
+ }
+ }
}
\ No newline at end of file
