VL53L0X激光测距传感器
VL53L0X是 ST 公司推出的新一代 ToF 激光测距传感器,采用了第二代 FlightSenseTM技术,利用飞行时间(ToF)原理,通过光子的飞行来回时间与光速的计算,实现测距应用。较比上一代 VL6180X,新的器件将飞行时间测距长度扩展至 2 米,测量速度更快,能效更高。除此之外,为使集成度过程更加快捷方便, ST 公司为此也提供了 VL53L0X 软件 API(应用编程接口)以及完整的技术文档,通过主 IIC 接口,向应用端输出测距的数据,大大降低了开发难度。
模块来源
规格参数
工作电压: 2.6 ~ 3.5 V
温度范围:2m
通信协议:I2C
I2C地址:0X52
管脚数量:6 Pin(2.54mm间距排针)
硬件连接
VL53L0X模块通常会有四个主要的连接端口:VCC、GND、SDA和SCL。
- 将VCC连接到开发板的3.3V。
- GND连接到开发板的GND。
- SDA(数据线)连接到开发板的A4或SDA端口(SDA就是A4引脚)。
- SCL(时钟线)连接到开发板的A5或SCL端口(SCL就是A5引脚)。
使用方法
安装库
在Arduino IDE中,通过 工具 > 管理库… 搜索并安装 Adafruit VL53L0X
库。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月09日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include "Adafruit_VL53L0X.h"
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
// 等待串口连接
while (!Serial) {
delay(1);
}
Serial.println("Adafruit VL53L0X test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while (1);
}
// 如果传感器成功初始化,代码会进行到这里
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
Serial.print("Reading a measurement... ");
lox.rangingTest(&measure, false); // 'true'将输出调试数据到Serial
if (measure.RangeStatus != 4) { // 0代表测量成功
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range");
}
delay(100);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
使用验证
在距离传感器20CM处放置障碍物,通过读取传感器的数据并通过串口输出。