single_ranging.ino 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "Seeed_vl53l0x.h"
  2. Seeed_vl53l0x VL53L0X;
  3. #undef SERIAL
  4. #define SERIAL Serial
  5. void setup() {
  6. VL53L0X_Error Status = VL53L0X_ERROR_NONE;
  7. SERIAL.begin(115200);
  8. Status = VL53L0X.VL53L0X_common_init();
  9. if (VL53L0X_ERROR_NONE != Status) {
  10. SERIAL.println("start vl53l0x mesurement failed!");
  11. VL53L0X.print_pal_error(Status);
  12. while (1);
  13. }
  14. VL53L0X.VL53L0X_single_ranging_init();
  15. if (VL53L0X_ERROR_NONE != Status) {
  16. SERIAL.println("start vl53l0x mesurement failed!");
  17. VL53L0X.print_pal_error(Status);
  18. while (1);
  19. }
  20. }
  21. void loop() {
  22. VL53L0X_RangingMeasurementData_t RangingMeasurementData;
  23. VL53L0X_Error Status = VL53L0X_ERROR_NONE;
  24. memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t));
  25. Status = VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);
  26. if (VL53L0X_ERROR_NONE == Status) {
  27. if (RangingMeasurementData.RangeMilliMeter >= 2000) {
  28. SERIAL.println("out of range!!");
  29. } else {
  30. SERIAL.print("Measured distance:");
  31. SERIAL.print(RangingMeasurementData.RangeMilliMeter);
  32. SERIAL.println(" mm");
  33. }
  34. } else {
  35. SERIAL.print("mesurement failed !! Status code =");
  36. SERIAL.println(Status);
  37. }
  38. delay(300);
  39. }