跳转到内容

VEML3235 环境光传感器

veml3235 传感器平台允许您在 ESPHome 中使用 Vishay VEML3235 环境光传感器。与设备的通信通过 I²C 进行,必须在配置中存在该总线。

VEML3235 环境光传感器

该传感器为环境光检测提供 16 位动态范围,从 0 lx 到接近 18 klx,分辨率可低至 0.0021 lx/counts。它通过两个可配置的 gain(增益)值以及一系列积分时间来实现这一范围。对于许多应用,您可以启用自动增益,让 ESPHome 根据上一次测量值选择合适的前置增益设置。如果光线水平变化剧烈,下一次读数可能会饱和,随后增益将被调整,使后续读数重新回到量程内。总体而言,在测量较弱光源时使用较高的增益值和/或较长的积分时间。

这篇 Wikipedia 文章 提供了一些 lux 值以供比较。

报告的数值单位为 lux,但请注意,测量任何 lux 值都需要针对被测量的光频率(或多个频率)、特定设备的转换系数以及其他因素进行仔细校准。简而言之,要真正获得真正的 lux 值测量,您应针对自己的使用场景进行实验室级校准。如果您能进行实验室级校准,您可能已经知道所有这些信息了。不过,即便如此,您仍然可以获得”大致正确”的数值,无需校准。如果您只是想区分”无光”、“有一点光”、“很多光”等,就更是如此。

# 示例配置条目
sensor:
- platform: veml3235
id: veml3235_sensor
name: VEML3235 Light Sensor
auto_gain: true
auto_gain_threshold_high: 90%
auto_gain_threshold_low: 20%
digital_gain: 1X
gain: 1X
integration_time: 50ms
  • gain (可选, string): 设备将使用的增益。在低光条件下较高的值效果更好。您不能随意指定增益乘数。它必须是以下某一项:

    • 1x (默认)
    • 2x
    • 4x
  • digital_gain (可选, string): 与 gain 类似;提供额外的乘数,进一步增大量程。您不能随意指定数字增益乘数。它必须是以下某一项:

    • 1x (默认)
    • 2x
  • integration_time (可选, Time): 设备用于每次测量的时间。时间越长,数值越准确。您不能随意指定时间长度。它必须是以下某一项的等效值:

    • 50ms (默认)
    • 100ms
    • 200ms
    • 400ms
    • 800ms
  • auto_gain (可选, boolean): 当设为 true(默认值)时,gain、digital_gain 和 integration_time 将自动调整,以避免传感器饱和并使用尽可能大的分辨率;如果这些值包含在配置中,它们将仅用作初始值。

  • auto_gain_threshold_high (可选, percentage): 在当前增益和积分时间下,最大可能 lux 测量值所占的百分比;当 lux 测量值超过该值时,将重置并重新计算 gain、digital_gain 和 integration_time 值,以避免饱和并最大化分辨率。默认值为 90%。

  • auto_gain_threshold_low (可选, percentage): 在当前增益和积分时间下,最大可能 lux 测量值所占的百分比;当 lux 测量值低于该值时,将重置并重新计算 gain、digital_gain 和 integration_time 值,以避免饱和并最大化分辨率。默认值为 20%。

  • Sensor 的所有其他选项。