VL53L0x激光测距
约 455 字大约 2 分钟
2025-05-30
前言
激光测距模块使用起来极为麻烦,需要考虑校准,温差会导致测量结果不精确
但是后来相通了,在电赛或是其他场合下往往不需要过于精确的数值,所以最终实现了精确到 cm 范围的测量(大概)
笔者花费了大量的时间读文档,读 API 源码,找了大量的例程,最终终于修改了光子物联的例程得到一份库函数可以直接移植使用
不建议琢磨这个模块的更详细使用,官方给出的 API 移植非常困难,不是学习阶段需要解决的
这个模块的好处是不会像超声波一样经常会有数值的跳变,比较稳定,并且测量距离能够达到 2m
代码使用事项
使用软件 iic 进行通信,笔者少量修改了光子物联的例程,留出 define 接口方便用户修改各个引脚
另外笔者只使用了最基本的测距功能,在 USER\src\vl53l0x_user.c
根据自身理解写了 brief 注释,方便调用的时候查看
同时修改了测距函数返回值,方便调用时判断是否成功
建议阅读一下这个 .c 文件,其他文件都可以不看了
文件说明
代码地址:https://github.com/w509/VL53L0x
分为两个文件夹,USER
是可直接移植的库函数,VL53L0X
是提供的例程,请自行查阅
USER\src\vl53l0x_user.c
:用户代码文件,包含了测距函数的实现和 brief 注释USER\inc\vl53l0x_user.h
:用户头文件,包含了测距函数的声明USER\inc\vl53l0x_port_pin.h
:引脚定义文件,修改引脚请在这里修改