VL53L0X激光测距
-
- 一、本例程实现功能
- 二、VL53L0X传感器介绍
- 三、传感器性能描述
- 四、 传感器工作模式配置说明
- 五、接线图
- 七、完整代码
- 八、代码运行结果
- 九、关于校准
一、本例程实现功能
通过VL53L0X通过激光测距传感器模块测量障碍物与传感器的距离print()在计算机串口调试终端打印输出距离(单位:mm)函数。
二、VL53L0X传感器介绍
VL53L0X基于世界上最小的高精度激光测距传感器"飞行时间(TOF)"原理测距,最大测距可达2米。VL53L0X内部激光发射器肉眼看不见,符合CLASS 激光产品安全标准1。
VL53L0X传感器测距视角(FOV)为25°,如下图所示:
三、传感器性能描述
从测量距离和精度两个方面描述了传感器在不同外部环境下的性能:
从下表可以看出,传感器能测量的最大距离与室内环境或室外强光环境有关,也与被测物体是白色还是灰色有关。可以看出,最佳的测量环境是在室内测量白色障碍物的距离。 从下表可以看出,传感器的测量精度与被测物体的距离、被测物体的白色或灰色有关。
注:下表33ms列为"Default"模式,"HighAccuracy"模式为200ms,"HighSpeed"为20ms,表中的66ms的模式不在Core可以忽略支持。
四、 传感器工作模式配置说明
Core的LIB开发者根据自己的实际需要,提供四种模式来初始化传感器的配置,每种模式的描述如下:
五、接线图
七、完整代码
--配置USB以虚拟串口模式工作,以此调用print()电脑串口终端打印输出函数 LIB_UsbConfig("CDC") --配置VL53L0X激光传感器开始工作,占用core的IIC0引脚以高精度模式工作 --精度在高精度模式下3%测量范围在内1.2米以内 LIB_VL53L0XConfig("IIC0", "HighAccuracy") --开始大循环 while(true) do --每隔200ms查询一次传感器是否出数 LIB_DelayMs(200) flag, distance = LIB_VL53L0XGetDistance() if flag == 1 then --打印测量距离(mm) print(string.format("distance:dmm", distance)) end end
八、代码运行结果
九、关于校准
开发人员每次在设备上呼叫LIB_VL53L0XConfig()函数配置VL53L0X传感器时,Core自动校准传感器的温度,避免温度变化影响传感器的测量精度。
但是,如果开发者在传感器外部添加透明的外罩或保护壳,则需要更多的校准过程,主要涉及SPAD校准,OFFSET(偏移)校准,以及Cross Talk(串扰)校准Core这些校准暂时不支持,所以尽量不要在传感器外部增加其他物理屏障,这些屏障可能会干扰测量结果。Core这些校准功能功能。