An m3pi demo program for Bluetooth control.
Dependencies: X_NUCLEO_53L0A1 m3pi mbed
Fork of m3pi_LIDAR by
Diff: main.cpp
- Revision:
- 0:b7ef99889b44
- Child:
- 2:2d0d003ca3b8
diff -r 000000000000 -r b7ef99889b44 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Apr 30 23:05:01 2017 +0000 @@ -0,0 +1,54 @@ +#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); + +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.printf("YO"); + + 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; + } + } + } +} \ No newline at end of file