跳转到内容

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 地址,则此项可选。根据您的传感器,即使总线上只有一个传感器,此项也可能需要。如果总线上有多个传感器,则此项始终必需。
VL53L0X 飞行时间距离传感器。
# 简单配置条目示例
sensor:
- platform: vl53l0x
name: "VL53L0x Distance"
address: 0x29
update_interval: 60s
long_range: true
  • update_interval (可选, Time): 检查传感器的间隔。默认为 60s。

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

  • long_range (可选, boolean): 将传感器设置为长程模式。signal_rate_limit 将被覆盖为 0.1。默认为 false。

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

  • enable_pin (可选, Pin Schema): 连接到 vl53l0x 的 XSHUT 以启用/禁用传感器的引脚。当不使用地址 0x29 时必需,当您在同一 i2c 总线上有多个 VL53L0X 时就会出现这种情况。此时您需要为每个 VL53L0X 分配不同的引脚。

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

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

  • Sensor 的所有其他选项。

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