Test an Adafruit single VL53L0X breakout board using the mbed LPC1768 and print distance measurement to PC
Dependencies: X_NUCLEO_53L0A1 mbed
Fork of HelloWorld_53L0A1 by
https://os.mbed.com/users/kbeck8/notebook/alternative-control-for-remote-control-vehicle/ has a more complex example using three LIDAR breakouts for gesture detection on the same I2C bus using the shutdown pin (solves the issue of them having the same I2C address). The driver has support for three, but an AND gate is required unless the driver is changed. DigitalOut pins turn shutdown on/off on each LIDAR.
Diff: main.cpp
- Revision:
- 7:c8087e7333b8
- Parent:
- 4:c8932fb926d6
- Child:
- 9:9733cfdb0a18
diff -r fd3f3110d4a4 -r c8087e7333b8 main.cpp --- a/main.cpp Wed Jun 07 15:02:52 2017 +0000 +++ b/main.cpp Mon Aug 07 14:45:59 2017 +0000 @@ -18,20 +18,26 @@ int status; uint32_t distance; - DevI2C *device_i2c =new DevI2C(VL53L0_I2C_SDA, VL53L0_I2C_SCL); + DevI2C *device_i2c = new DevI2C(VL53L0_I2C_SDA, VL53L0_I2C_SCL); - /* creates the 53L0A1 expansion board singleton obj */ - board=X_NUCLEO_53L0A1::Instance(device_i2c, A2, D8, D2); + /* creates the 53L0A1 expansion board singleton obj */ + board = X_NUCLEO_53L0A1::instance(device_i2c, A2, D8, D2); - /* init the 53L0A1 expansion board with default values */ - status=board->InitBoard(); - if(status) { printf("Failed to init board!\n\r"); return 0; } + /* init the 53L0A1 expansion board with default values */ + status = board->init_board(); + if (status) + { + printf("Failed to init board!\n\r"); + return 0; + } while(1) { - status = board->sensor_centre->GetDistance(&distance); - if (status == VL53L0X_ERROR_NONE) + status = board->sensor_centre->get_distance(&distance); + if (status == VL53L0X_ERROR_NONE) + { printf("Distance : %ld\n", distance); + } } }