跳转到内容

VL53L0X 飞行时间距离传感器

vl53l0x 传感器平台允许您在 ESPHome 中使用 VL53L0X 光学飞行时间传感器 (数据手册, ST) 来测量距离。该传感器通过发射短红外脉冲并测量光线反射回来所需的时间来工作。

该传感器可以测量最远 2 米的距离,但该数值很大程度上取决于表面反射率、视场、温度等多种条件。一般来说,您可以预期表面最远 60cm 可以正常工作,超过这个距离您需要确保表面反射足够好(另见数据手册第 5 节)。

需要在配置中设置 I²C 总线 才能使此传感器工作。

  • VCC 连接到 3V3(3V3 将输出 3.3V),或直接将 VCC 连接到 3.3V
  • GND 连接到地
  • SCL 连接 I2C SCL(时钟)
  • SDA 连接 I2C SDA(数据)
  • GPIO1 不被 ESPHome 使用
  • XSHUT 连接到空闲的 GPIO 引脚。启用/禁用设备。如果 I²C 总线上只有一个 VL53L0X 传感器且使用默认地址 0x29,则此项可选。根据您的传感器,即使 I²C 总线上只有一个传感器,也可能需要此项。对于多个传感器,此项始终是必需的。
VL53L0X 飞行时间距离传感器。
# 简单配置条目示例
sensor:
- platform: vl53l0x
name: "VL53L0x 距离"
address: 0x29
update_interval: 60s
long_range: true
  • update_interval (可选, 时间): 检查传感器的时间间隔。默认为 60s

  • signal_rate_limit (可选, 浮点数): 设置返回信号速率限制,单位为 MCPS(每秒兆计数)。这是传感器检测到的报告有效读数所需的最小信号幅度。设置较低的值可能会增加传感器的范围,但也会增加获得不准确读数的机会。默认为 0.25

  • long_range (可选, 布尔值): 将传感器设置为长距离模式。signal_rate_limit 被覆盖为 0.1。默认为 false

  • address (可选, 整数): 手动指定传感器的 i2c 地址。默认为 0x29。如果指定的地址不是 0x29,传感器将在启动时动态重新寻址。传感器的动态重新寻址需要分配 enable_pin 配置变量。如果在同一 i2c 总线上使用多个 VL53L0X 传感器,则必须为每个传感器指定唯一地址。

  • enable_pin (可选, 引脚模式): 连接到 vl53l0x 上 XSHUT 的引脚,用于启用/禁用传感器。如果不使用地址 0x29 则为必需,这是同一 i2c 总线上有多个 VL53L0X 的情况。在这种情况下,您必须为每个 VL53L0X 分配不同的引脚。

  • timeout (可选, 时间): 传感器设置超时。默认为 10ms

  • timing_budget (可选, 时间): 设置传感器用于单次测距测量的时间预算。范围为 20000us - 4294967295us(含)。时间预算允许用户在速度和精度之间进行权衡。如果未指定,默认时间预算为 33000us。

  • 传感器的所有其他选项。

# 同一 i2c 总线上的多个 VL53L0X 传感器
# 示例配置条目
sensor:
- platform: vl53l0x
name: "距离1"
id: distance1
address: 0x41
enable_pin: GPIOXX
timeout: 200us
update_interval: 500ms
unit_of_measurement: "m"
- platform: vl53l0x
name: "距离2"
id: distance2
address: 0x42
enable_pin: GPIOXX
timeout: 200us
update_interval: 500ms
unit_of_measurement: "m"