基于VL53L5CX的评估测试
#创作灵感:
由于在某项产品中需要来确定小鼠轨迹,但是并不期望采用太过复杂的视觉算法,于是乎在红外区域传感器和激光区域传感器两种内进行评估,这里评测的传感器是VL53L5CX;
1、软件环境搭建以及代码准备
建议参考博客:
https://blog.csdn.net/weixin_42328389/article/details/135989867
其中注意:
1、VL53L5CX并不提供完整的I2C协议,而是通过提供完整的源码来进行程序修改编写;
2、推荐使用STM系列的主控MCU,使用STM32CUBEMX进行快速外设资源初始化;
3、由于该传感器的软件版本总在迭代更新,建议大家使用3.4.0的源码版本,经测试是可以的;
4、传感器部分管脚并没有使用,但是保险起见,我是全部接上的,注意要和自己配置的管脚对应;
5、如果大家购买开发板,烧录可能会存在问题(普遍STMF4系列支持ISP 串口下载和SWD烧录),建议做好两手准备;
关于软件源码的修改:
如果测试的距离不是很远(超出范围导致传感器异常),你可以像下面修改源码,确保数据的格式输出符合后续我设计的上位机软件要求;

在app_tof.c文件里你可以找到这个结果输出的相关函数print_result();
第一个for循环打印的输出和ambient和signal有关系,正常距离下一般不会打印,所以可以注释掉;

第二个for循环,是专门用来打印数据的,源码里对数据进行了大小判断,我们可以省去这个步骤;直接修改为如上所示"Num=%d,Distance=%ldmm,Status=%ld\r\n";

最后一个for循环似乎同第一个循环差不多,也没什么必要,可以注掉,简化串口输出;

在上方有一个HAL_Delay(),这里可以调整串口输出数据的频率

我这里设置为1000ms,也就是1s才刷新一次;
这样编译过后,会有几个waring,主要是某些函数没有被使用的提示,没关系,可以直接烧录;

当你烧录MCU后,记得RESET一下,这个时候传感器电流会先掉下20mA,初始化成功的话,则会进入到正常工作电流,大概是100多mA;这个时候随意打开一个串口输出 你就可以看到如上输出情况;
最后就可以使用我给的上位机软件(不一定完美),来比较明显的观测距离数据的变化;

左上角是串口的选择和距离阈值数据的设置,低于下限阈值和超出上下阈值的区域会改变颜色(蓝色和红色);

像这样,就可以比较明显的看到数据颜色的变化;
上位机源码使用pyside6制作 ,默认波特率是115200,打包后的exe文件一并在内;
下面是网盘资源:
通过网盘分享的文件:区域传感器测试.rar
链接: https://pan.baidu.com/s/1oxkALpeE1fR0yEJnoDYaQA?pwd=wqh1 提取码: wqh1
有效期仅一年,过期请私信;
