Lite-On 环境光与接近传感器
ltr501 传感器平台允许您在 ESPHome 中使用一系列 LiteOn 环境光和接近传感器。
支持的传感器系列包括:
- 环境光传感器 LTR-301ALS
- 集成环境光和接近传感器 LTR-501ALS 和 LTR-558ALS
LTR-501 设备可在 Olimex 的转接板上获得。
这些传感器非常相似,共用同一份数据手册。使用此传感器需要在您的配置中设置 I²C 总线。I²C 地址为 0x23。
接近传感器与您在手机和平板电脑中发现的传感器类型相同,用于在您将设备贴近耳朵时关闭屏幕。它们可能对自动开启或关闭显示器和控制面板很有用。
这些传感器在 0.01 lux 到 64k lux 的宽动态范围内具有线性响应,非常适合在高环境亮度下应用。有两种增益设置(1X、150X)可供使用。在较暗区域使用较高的增益。
这些设备由两个光电二极管组成:一个对可见光和红外光都敏感的 CH0 二极管,和一个仅对红外光敏感的 CH1 二极管。
注意:这些传感器没有内部数据检查功能,如果数据不可靠也不会指示任何错误。如果增益太高或积分时间太长,传感器很容易饱和。在这种情况下,读数可能会非常奇怪。建议使用自动模式,起始增益为 1X(默认),起始积分时间为 100ms(默认)甚至 50ms(如果传感器处于非常明亮的环境中)。不建议使用 150X 起始增益的自动模式;仅当您确定亮度永远不会超过 200-300 lx 时才使用。
环境光照度计算
Section titled “环境光照度计算”数据手册摘录:
RATIO = CH1/(CH0+CH1)IF (RATIO < 0.45) ALS_LUX = (1.7743 * CH0 + 1.1059 * CH1) / ALS_GAIN / ALS_INTELSEIF (RATIO < 0.64 && RATIO >= 0.45) ALS_LUX = (3.7725 * CH0 – 1.3363 * CH1) / ALS_GAIN / ALS_INTELSEIF (RATIO < 0.85 && RATIO >= 0.64) ALS_LUX = (1.6903 * CH0 - 0.1693 * CH1) / ALS_GAIN / ALS_INTELSE ALS_LUX = 0END其中:
CH0和CH1分别是可见光 + 红外 (Ch0) 和仅红外 (Ch1) 传感器的传感器值(测量计数值)。ALS_GAIN是增益倍数ALS_INT是积分时间(毫秒/100)
ALS 增益级别
Section titled “ALS 增益级别”下表列出了增益值和相应的照度范围:
| 增益 | 照度范围 |
|---|---|
1X | 2 lux 至 64k lux(默认) |
150X | 0.01 lux 至 320 lux |
维基百科这篇文章有一个对照用的照度值表。
下表列出了可能的增益和积分时间组合:
| 增益 / 积分时间 | 50 ms | 100 ms | 200 ms | 400 ms |
|---|---|---|---|---|
1X | ✓ | ✓(默认) | ||
150X | ✓ | ✓ | ✓ |
接近传感器有一个内置发射器和检测器。传感器检测从发射器反射的红外光,并给出一个与距离成反指数关系的原始计数值。计数值下降意味着物体正在远离传感器(反之亦然)。两份数据手册都没有提供如何将原始计数值转换为距离的任何信息。唯一的方法是自己测试传感器,并根据您的需求和环境选择阈值。具体数值将取决于物体的类型、颜色和反射率。
sensor: - platform: ltr501 type: ALS_PS # .. 或 ALS 或 PS ambient_light: "Ambient light" # 仅 PS 部分 ps_cooldown: 5 s ps_high_threshold: 500 on_ps_high_threshold: then: - .... # 做一些事情 - 例如点亮屏幕 ps_counts: name: "Proximity counts"-
id (可选, ID): 手动指定用于代码生成的 ID。
-
address (可选, 整数): 手动指定传感器的 I²C 地址。默认值为
0x23。 -
type (可选, 字符串): 传感器的类型。有效值为
ALS_PS(默认) 用于集成传感器,ALS仅用于环境光,或PS仅用于接近设备。 -
auto_mode (可选, 布尔值): 自动增益和积分时间选择。默认为 True。
-
gain (可选, 字符串): 设备将使用的增益。在低光照条件下,较高的值更好。 有效值为
1X(默认),150X。 -
integration_time (可选, 时间): 传感器曝光的时间量。较长时间意味着更准确的数值。 有效值为:
50ms,100ms(默认),200ms,400ms。 -
glass_attenuation_factor (可选, 浮点数): 如果传感器在某些玻璃或塑料面板后面,玻璃的衰减因子。默认值为
1.0表示100%透射率。2表示50%透射率等。 -
update_interval (可选, 时间): 检查传感器的时间间隔。 默认值为
60s。 -
ps_cooldown (可选, 时间): 接近传感器触发后的”冷却”周期。 有助于避免多次调用。默认值为
5s。 -
ps_gain (可选, 字符串): 设备用于接近传感器的增益。在低光照条件下,较高的值更好。 有效值为
1X(默认),4X,8X,16X。 -
ps_high_threshold (可选, 整数): 接近传感器在物体靠近时触发的阈值。 默认值为
65535,这意味着永远不会触发。 -
ps_low_threshold (可选, 整数): 接近传感器在物体远离时触发的阈值。 默认值为
0,这意味着永远不会触发。 -
on_ps_high_threshold (可选): 当接近传感器在物体靠近时触发时要执行的操作。
-
on_ps_low_threshold (可选): 当接近传感器在物体远离时触发时要执行的操作。
此组件为配备 ALS 的设备提供五个传感器,为配备 PS 的设备提供一个传感器。
您可以配置这些传感器的全部或任何子集。每个配置的传感器在每个 update_interval 单独报告。每个都是 ESPHome 传感器,可以相应配置;如果您不需要配置额外的 传感器 变量,您可以简单地使用传感器的简写语法。例如:ambient_light: "Ambient light"
- ambient_light (可选): 环境光照度,接近人眼光谱,lx。
- infrared_counts (可选): 来自红外敏感传感器 (CH1) 的传感器计数值,计数值。
- full_spectrum_counts (可选): 来自对可见光和红外都敏感的传感器 (CH0) 的传感器计数值,计数值。
- actual_gain (可选): 用于测量数据的增益值,倍数。在选择”auto_mode”时特别有用。
- actual_integration_time (可选): 用于测量数据的积分时间,ms。在选择”auto_mode”时特别有用。
- ps_counts (可选) - 来自接近传感器的原始 11 位读数,计数值。