Compartir a través de


Sensores de luz ambiental

En este documento se proporcionan recomendaciones para el diseño y el desarrollo de dispositivos con sensores de luz ambiental integrados. Es fundamental seleccionar un dispositivo de sensor de luz ambiente (ALS) adecuado.

La siguiente lista de comprobación de alto nivel es para los desarrolladores que integran el hardware del sensor en los dispositivos. En el resto de este documento se describe detalladamente el proceso y la información en segundo plano.

  • Seleccione un origen de retroiluminación adecuado.
  • Seleccione un sensor de luz adecuado.
  • Seleccione la ubicación optimizada para el sensor de luz en el gabinete del dispositivo.
  • Realice la calibración por modelo teniendo en cuenta todos los factores, como recubrimientos, tubería ligera, configuración del sensor, colocación, etc. Esto debe realizarse con medidores de luz profesionales y calibrados previamente.
  • Integre los sensores en el dispositivo de una de las maneras admitidas.
  • Aproveche el controlador de clase de sensor HID de bandeja de entrada. Conecte el dispositivo a través del transporte USB, SPI o I2C HID.
  • Pruebe el dispositivo completo como un instrumento de medición de luz. Utilice varios tipos de iluminación de prueba (fluorescente, LED) en varias densidades y compare los valores notificados a través de la plataforma del sensor con un medidor de luz de alta calidad. El medidor debe medir el incidente de luz en la pantalla del dispositivo.
  • Pruebe el dispositivo y los controladores de terceros con los requisitos de dispositivo del Kit de laboratorio de hardware (HLK) de Windows y las pruebas relacionadas. Asegúrese de que se ejecuta correctamente y supera todos los casos de prueba.
  • Asegúrese de que los OEM, los OEM y los IHD participan en las revisiones de diseño mecánico para cada revisión importante del hardware del dispositivo.
  • Asegúrese de que la implementación del sensor está optimizada mecánicamente, ópticamente y desde una perspectiva de ingeniería eléctrica.
  • Pruebe los sensores de luz y el brillo adaptable mediante los pasos mencionados en casos de prueba de brillo adaptable.

Integración de sensores de luz con hardware de dispositivo

Varias cosas pueden afectar considerablemente a lo que se puede hacer con la información que proporcionan los sensores de luz. Estas consideraciones incluyen lo siguiente:

  • Se prefiere el tipo de sensor, los sensores de luz digital.
  • Precisión, resolución y campo de vista del sensor
  • El intervalo dinámico del sensor
  • Rechazo infrarrojo (IR) y ultravioleta (UV) (respuesta ocular humana)
  • La tecnología de bus admitida (solo digital)
  • La frecuencia de muestreo digital
  • Consumo de energía
  • Opciones de empaquetado y selección de ubicación

Los siguientes factores justifican una consideración especial:

  • Precisión y resolución: para ofrecer una experiencia de usuario óptima para el brillo adaptable y la interfaz de usuario con reconocimiento de la luz en las aplicaciones, se requieren datos precisos del sensor como entrada. Por lo general, cuanto más preciso sea el sensor, mejor será la experiencia de usuario correspondiente. Un buen objetivo para los valores calibrados reales del sensor de luz ambiente (ALS) es una precisión coherente de dentro del 4 % de las condiciones de iluminación reales.
  • Rango dinámico: el rango dinámico de un sensor de luz es la relación entre los valores más grandes y más pequeños que el sensor puede notificar y define la gama de entornos de iluminación en los que el sensor puede ser eficaz. Un sensor de luz de rango dinámico bajo limita los entornos en los que se puede usar. Los sensores de luz ambiental montados en dispositivos diseñados para usarse al aire libre, como un teléfono móvil, deben admitir condiciones de iluminación al aire libre. La luz solar puede oscilar entre 0 y 10 000 lux, o más. El rango dinámico ALS para dispositivos diseñados para su uso en interiores puede ser menor. La luz interior suele oscilar entre 0 y 1000 lux.
  • Granularidad: para garantizar la mejor experiencia, el ALS debe tener una granularidad de 1 lux cuando la luz ambiente está por debajo de 25 lux, y una granularidad del 4% de la luz ambiente cuando está por encima de 25 lux. Esto permite que el algoritmo de brillo adaptable realice transiciones de brillo de pantalla suaves.

A continuación se muestran condiciones de iluminación comunes a las que hacer referencia:

Condición de iluminación Iluminación (lux)
Tono negro 1
Muy oscuro 10
Interior oscuro 50
Tenue interior 100
Interiores normales 300
Interior brillante 700
Atenuar al aire libre (sobredifusión) 1,000
Luz solar al aire libre 15,000
Luz solar directa 100 000

Tipos de sensores de luz ambiental

Los sensores de luz ambiental vienen en dos tipos fundamentales:

  • Los sensores de luz analógica están conectados a un controlador incrustado con un convertidor analógico a digital (A/D) y requieren firmware que pueda interpretar con precisión los datos del sensor de luz y compensar diversas condiciones y fenómenos que afectan a las lecturas. Algunos ejemplos de estos fenómenos incluyen rechazo de luz de infrarrojos (IR) y compensación de frecuencia de luz. Por ejemplo, las luces fluorescentes varían en intensidad con la frecuencia de la potencia de CA que se suministra al accesorio. Los sensores analógicos suelen ser muy económicos.
  • Los sensores de luz digital son más caros que los sensores analógicos, pero tienen ventajas. Los sensores de luz digital pueden compensar automáticamente diversas condiciones y fenómenos. Los sensores digitales también son extremadamente compactos. Algunos sensores de luz digital pueden proporcionar mediciones discretas discretas generales. La granularidad de las lecturas en condiciones de poca luz debe tenerse en cuenta cuidadosamente. Las mediciones gruesas y discretas en condiciones de poca luz pueden dar lugar a una experiencia de brillo agotadora para el usuario.

Independientemente del tipo de sensor de luz seleccionado, se deben tomar y exponer lecturas precisas al sistema.

Número de sensores de luz

Cuantos más sensores de luz ambiente estén disponibles para medir una condición de iluminación, mejor será la estimación de la iluminación real. Sin embargo, cada sensor de luz agrega costos y usa espacio en el dispositivo.

Es importante que los fabricantes se esfuerzan por una solución que proporcione al sistema la capacidad de detección de luz ambiental más precisa. Las soluciones económicas pueden depender de un solo sensor, pero el hardware de gama alta puede depender de una matriz de sensores para proporcionar la mejor medida posible. Si un OEM decide implementar varios sensores de luz ambiente (para solucionar problemas como las manos o sombras que ocultan el ALS), el OEM debe exponer un ALS lógico (consolidado) a Windows y notificar los datos más precisos.

Si se exponen varios sensores al sistema, el sensor único usado para el brillo automático debe exponer la propiedad DEVPKEY_SensorData_LightLevel_AutoBrightnessPreferred . Del mismo modo, los OEM pueden decidir fusionar varios sensores de luz ambiente y exponer el resultado como un sensor de luz virtual, también conocido como sensor de software puro. Si los sensores de luz física y virtual se exponen a través de la interfaz del controlador del dispositivo del sensor, el sensor fusionado debe exponer la propiedad DEVPKEY_SensorData_LightLevel_AutoBrightnessPreferred .

Colocación del sensor de luz

La colocación correcta de los sensores de luz es otro aspecto crítico del buen diseño del sistema. El objetivo del ALS es medir el brillo del entorno según lo percibe el usuario. La mejor ubicación teórica del sensor sería entre los ojos del usuario. La colocación óptima del mundo real de los sensores de luz suele estar en el mismo plano que la pantalla, orientada al usuario. Los sensores colocados en la pantalla tienen la ventaja de detectar algunos reflejos que pueden producirse en la pantalla.

Evite colocar el sensor de luz en áreas del equipo que es probable que se oscurezca de fuentes de luz mediante sombras o manos, dedos o brazo de un usuario durante el uso normal. En la ilustración siguiente se muestra un escenario de usuario de ejemplo en el que una fuente de luz directa está detrás del usuario. Una sombra se convierte sobre la mitad inferior de la pantalla y la base del equipo. Este escenario sugiere una ubicación óptima del sensor de luz cerca de la parte superior de la pantalla y de cara al usuario.

Diagrama que indica la ubicación óptima del sensor de luz en la mitad superior de la pantalla para evitar la sombra del usuario.

Asegúrese de que las distintas configuraciones que puede tomar un dispositivo (posición del teclado en modo tableta frente al modo portátil, por ejemplo) no bloqueen la apertura y no intersecen el campo de vista del sensor.

Por último, asegúrese de que el campo de visión del sensor no se cruza con ninguna fuente de luz que genere excesivas notificaciones (flash de la cámara, retroiluminación del teclado, etc.), ya que pueden contribuir a generar un exceso de notificaciones o malas lecturas. Asegúrese de tener en cuenta todas las distintas configuraciones que un dispositivo puede tomar al considerar el campo de vista intersección con orígenes ruidosos de luz.

Tratamiento de datos de sensor de luz no válidos

En determinadas condiciones, el campo de visión del sensor de luz ambiente puede estar obstruido por un objeto o por el usuario, lo que hace imposible que el sensor tome una lectura precisa. Por ejemplo, esta condición puede producirse cuando la mano del usuario cubre la apertura del sensor de luz ambiente. Existen muchos otros casos.

El sensor de luz ambiental puede indicar esta situación al sistema operativo enviando una nueva muestra de sensor con su campo de datos PKEY_SensorData_IsValid establecido en FALSE. El diseño de hardware adecuado debe minimizar el tiempo y los escenarios que requieren que este valor se establezca en FALSE, como tal, evita que el sistema controle correctamente el brillo. En un sistema ideal, los sensores de luz ambiente siempre serían capaces de medir la luz ambiente, y este valor se establecería en TRUE.

Filtros de sensor de luz, lentes, gabinetes y calibración

Al diseñar un dispositivo que incluya un ALS, es necesario tener en cuenta cuidadosamente todo el sistema de componentes mecánicos, ópticos y eléctricos relacionados con el ALS. En el diagrama siguiente se muestran los componentes mecánicos clave que se deben tener en cuenta y comprender al integrar y calibrar el hardware del sensor de luz ambiental con Windows.

Diagrama que ilustra los componentes de un sensor de luz ambiente.

En este diagrama, vemos lo siguiente:

  • Vidrio: superficie exterior de la pantalla
  • Revestimiento de tinta: borde negro alrededor de la pantalla
  • Blindaje claro: evita la sangrización de luz
  • Tubería de luz: recopila y dirige la luz al sensor
  • Sensor de luz ambiental
  • Placa base

Nota

Las tuberías ligeras normalmente no son necesarias y, en muchos casos, puede degradar el rendimiento del ALS. Consulte con el fabricante del sensor de luz para obtener instrucciones sobre este tipo de componentes ópticos.

Este diagrama hace referencia a dos niveles de luz:

  1. $LUX_{1}$: el nivel de luz del incidente para los alrededores del dispositivo en la superficie de la pantalla. Este nivel se mide y notifica mediante el sensor de luz ambiente a través de la plataforma del sensor.

  2. $LUX_{2}$: nivel de luz del incidente en la superficie del ALS. Este no es el nivel de luz correcto para informar a través de la plataforma del sensor, ya que no tiene en cuenta el factor de atenuación de la óptica.

El factor de atenuación corresponde a la cantidad de luz bloqueada por los distintos componentes entre la superficie exterior del dispositivo (normalmente vidrio) y la superficie de detección del ALS. La atenuación se puede calcular de la siguiente manera: A = (1 - transmittance)

Importante

El sensor de luz ambiental informa de la intensidad de la luz ambiente que detecta. Debido a la transmisibilidad de la óptica, las lecturas de ALS sin procesar informan de valores lux atenuados y no deben utilizarse sin corrección. La transmisibilidad es las características de la óptica que reducen la intensidad de la luz ambiente y también rechazan la luz de infrarrojos (IR). Si la óptica se pinta con tinta para apariencia visible, se debe utilizar un factor de atenuación para compensar la reducción correspondiente en la intensidad de la luz ambiente.

$LUX_{2}$ siempre debe ser inferior a $LUX_{1}$

La diferencia entre estos dos valores lux se denomina factor de atenuación. El factor de atenuación representa el porcentaje total de transmisión de luz entre la superficie superior del vidrio ($LUX_{1}$) y la superficie desnuda del sensor de luz ambiente ($LUX_{2}$). Esto es más drástico cuando se utiliza una superficie de vidrio pintado. El OEM, con la compatibilidad del sensor IHV, debe medir el factor de atenuación y corregirlo en hardware antes de exponer el valor lux al sistema operativo.

Nota

La transmisión es la relación del nivel de luz en la superficie del ALS dividido por el nivel de luz ambiente que rodea el dispositivo.

En el ejemplo siguiente, supongamos que el porcentaje total de transmisión de luz entre la superficie superior del vidrio y la superficie desnuda del sensor de luz ambiental es del 5 %. Para admitir el rango lux necesario, el sensor de luz seleccionado debe admitir el siguiente rango en el sensor sin sistema:

  • $Minimum = 1 lux × 0,05 = 0,05 lux$
  • $Maximum = 100 000 lux × 0,05 = 5000 lux$

En el firmware o controlador, dependiendo de si se está implementando una solución ALS de hardware o software, se usa la siguiente conversión para tener en cuenta el factor de atenuación:

$Output LUX = LUX_{1} = LUX_{2} / (% total _{light _transmittance})$

En el caso de una lectura de sensor de luz ambiental sin luz de 100 lux, el siguiente es el resultado de salida lux:

$Output LUX = 100 / 0,05 = 2000 LUX$

Todo el sistema debe calibrarse también con un equipo de medición de luz adecuado. En este ejemplo solo se muestran las consideraciones generales para la selección de piezas y la calibración inicial antes de la calibración formal. Se recomienda encarecidamente la calibración de fábrica por unidad para obtener la mejor y más coherente experiencia del usuario. Los sensores suelen tener intervalos de precisión de +/- 20 % de unidad a unidad, que se pueden tener en cuenta a través de la calibración de fábrica por unidad.

Además, el campo de vista es un factor importante que se debe tener en cuenta en la colocación y el diseño del sensor de luz ambiental. Cuanto menor sea el campo de vista, peor será el rendimiento del sensor. Como regla general, un campo de visión de medio ángulo de 55 grados (total de 110 grados) es un objetivo justo. Cuanto mayor sea el campo de vista, menos propenso será que el sensor recoja una única fuente de luz o un área de sombra que no refleje con precisión el verdadero entorno de luz.

Conectividad del sensor con HID y SPB

En los diagramas siguientes se muestra cómo integrar ALS mediante el protocolo HID y con un controlador específico de IHV para SPB.

Sugerencia

El protocolo HID es la ruta de acceso recomendada para integrar ALS, haciendo uso de los controladores HID de la bandeja de entrada en Windows.

A continuación se muestra el hardware, el controlador y la pila de software del sensor HID:

Diagrama que ilustra el hardware, el controlador y la pila de software del sensor HID.

Cuadros de arriba abajo: Sensor Application, Sensor API, Sensor Class Extension, User-mode HID Driver, HID-I2C Driver, I2C Controller, HID Interface in Firmware y ALS Hardware

A continuación se muestra el hardware, el controlador y la pila de software del sensor SPB:

Diagrama que ilustra la pila SPB del sensor.

Cuadros de arriba abajo: Sensor Application, Sensor API, Sensor Class Extension, UMDF User-mode Sensor Driver, SPB Interface, I2C Controller Driver y ALS Sensor

Para obtener más información sobre la integración del hardware del sensor a través del protocolo HID, incluido HID e I2C, consulte Sensor HID class driver (Controlador de clase HID del sensor).

Para más información sobre la integración de sensores a través de buses SPB, consulte el código fuente del controlador de ejemplo combinado del sensor en GitHub.

Calibración del sensor de luz ambiental

Se recomienda encarecidamente calibrar el ALS en el sistema integrado mediante sensores profesionales y calibrados previamente en un entorno de iluminación controlado. Estos sensores previamente calibrados, a menudo denominados medidores de luz, están disponibles para la compra de proveedores de equipos electrónicos y minoristas en línea.

Otras técnicas de calibración

Los detalles sobre otras herramientas de calibración y supervisión de ALS están disponibles a través del artículo Microsoft Ambient Light Tool .

Validación del sensor de luz

Como primer paso, siempre debe ejecutar las pruebas sensors (es decir, Input) Hardware Lab Kit para validar el sensor de luz ambiental. Asegúrese de que se superen todos los requisitos mínimos de hardware y las pruebas del Programa de compatibilidad de hardware de Windows .

Para validar el correcto funcionamiento del sensor de luz ambiente:

  • Asegúrese de que se ha iniciado DisplayEnhancementService.
  • Habilite el brillo automático y establezca el control deslizante en 50 %.
  • Compruebe que el brillo de la pantalla cambia cuando cambia la iluminación.
  • Utilice un dimmer ligero para aumentar y bajar lentamente la luz ambiental y asegurarse de que los valores lux se están aumentando y bajando suavemente . Los cambios de luz generales y discretos dan lugar a una respuesta de brillo de pantalla sub óptimo y deben evitarse.
  • Utilice un medidor de lujo profesional para asegurarse de que las lecturas alS sean precisas. Como mínimo, compruebe los puntos siguientes: 0, 10, 100, 500 y 1000 lux.
  • En sistemas que solo personalizan la curva ALR, pruebe el comportamiento con los usuarios para validar que los datos ALR cumplen las expectativas del usuario.

Requisitos mínimos de hardware y el Programa de compatibilidad de hardware de Windows

Los requisitos mínimos de hardware y los requisitos del Programa de compatibilidad de hardware de Windows son fundamentales para crear experiencias de sensor compatibles con Windows. Aunque los programas son opcionales, se recomienda que los productos de audio cumplan ambos conjuntos de requisitos para garantizar la calidad básica del audio.

Para obtener más información, consulta el Programa de compatibilidad de hardware de Windows.

En las secciones siguientes se tratan las recomendaciones para los sensores. Para garantizar experiencias de alta calidad, todos los dispositivos deben probarse con estos requisitos de rendimiento.

Área Tipo de guía Qué dispositivos deben probarse
Device.Input.Sensor.AmbientLightSensor Proporciona instrucciones de nivel de componente para funcionar de forma óptima con el sistema operativo host en términos de interfaces de software, protocolos de comunicación y formatos de datos. Todos los sensores de luz ambiental integrados deben probarse en función de estos requisitos de rendimiento.
System.Client.Sensor.AmbientLightSensor Proporciona instrucciones de nivel de sistema para funcionar de forma óptima con el sistema operativo host en términos de interfaces de software, protocolos de comunicación y formatos de datos. Todos los sensores de luz ambiental integrados deben probarse en función de estos requisitos de rendimiento.

Curva de respuesta ambiente

Si un sensor de luz ambiental informa de una curva de respuesta de luz ambiente, debe seguir:

Campo de datos Tipo de datos Definición
PKEY_LightSensor_ResponseCurve VT_VECTOR VT_UI4

La curva de respuesta del sensor debe tener al menos dos puntos y el degradado debe ser positivo o plano. Para obtener más información, consulte la curva de respuesta.

Color compatible

Los sensores de luz ambiente no son necesarios para detectar el color. Si un sensor de luz ambiental admite el color, se deben notificar las propiedades relacionadas con el color, los umbrales y los campos de datos. Un sensor de luz compatible con colores debe notificar la siguiente propiedad de enumeración:

Campo de datos Tipo de datos Definición
DEVPKEY_LightSensor_ColorCapable VT_BOOL Especifica si este sensor de luz es capaz de color.

Un sensor de luz compatible con colores debe notificar una de las siguientes combinaciones de campos de datos:

  • Lux, kelvins, cromática x, cromática y
  • Lux, cromática x, cromática y

Para obtener más información, consulte los campos de datos del sensor de luz.

Para los campos de datos de color que notifica el sensor de luz, también se deben admitir umbrales. Se debe notificar un ejemplo cuando se alcanza al menos un umbral. Para obtener más información, consulte los umbrales del sensor de luz.

Propiedades del campo de datos

Los sensores de luz ambiental deben notificar las propiedades de campo de datos necesarias. Para obtener más información, consulte los campos de datos del sensor de luz.

Tipos de datos

Los sensores de luz ambiental son necesarios para notificar datos de luz. Para más información, consulte Campos de datos del sensor de luz.

Intervalo mínimo de informe

Los sensores de luz ambiente no compatibles con colores en Windows son necesarios para admitir un intervalo de informe de 250 milisegundos o menos. Los sensores de luz ambiente compatibles con colores en Windows son necesarios para admitir un intervalo de informe de 1000 milisegundos o menos.

Umbrales

Los sensores de luz son necesarios para admitir umbrales en lux. Si se admiten umbrales absolutos, se debe cumplir tanto el umbral de porcentaje como el umbral de lujo absoluto para que se notifique una muestra de datos.

Supongamos que el umbral absoluto es 1 lux y que el umbral de porcentaje es del 25 %:

Último ejemplo Ejemplo siguiente Resultado
4 lux 3 lux La siguiente muestra se notificaría porque el cambio es mayor o igual que 1 lux de la última muestra notificada y es mayor o igual que el 25 % de la última muestra notificada.
1 lux 0,5 lux El ejemplo siguiente no se notificaría, ya que el cambio es inferior a 1 lux de la última muestra notificada.
100 lux 90 lux El ejemplo siguiente no se notificaría, ya que el cambio es inferior al 25 % del último ejemplo notificado.

Para obtener más información, consulte Umbrales de sensor de luz.

Brillo automático preferido

Si un sensor de luz ambiental está pensado para usarse con la característica de brillo automático, se requiere que se notifique la siguiente propiedad de enumeración:

Tipo de datos Definición
DEVPKEY_LightSensor_AutoBrightnessPreferred VT_BOOL Especifica si este sensor de luz debe ser el sensor de luz preferido que se usa para el servicio de brillo automático de Windows.

Solo debe haber un sensor de luz ambiente que informe de esta propiedad en un sistema.

Calibración de color

Los sensores de luz ambiental no son necesarios para admitir el color. Si un sensor de luz ambiental admite el color, es necesario calibrar correctamente.

Mientras que una fuente de luz está dirigida directamente al sensor:

  • El lux ambiente detectado está dentro del 10 % o 1 lux de la luz entrante real.
  • La cromática detectada x e y están dentro de 0,025 de la luz entrante real.

Propiedades de enumeración

Un sensor de luz ambiental debe notificar DEVPKEY_Sensor_ConnectionType aunque no sea una propiedad de enumeración necesaria para algunos otros sensores.

Es válido

Los sensores de luz ambiental no son necesarios para informar cuando las muestras de sensores de luz son válidas o no. Si un sensor de luz ambiental admite esto, se debe notificar el siguiente campo de datos:

Campo de datos Tipo de datos Definición
PKEY_SensorData_IsValid VT_BOOL Indica si el ejemplo de datos actual es válido.

Si cambia el valor de PKEY_SensorData_IsValid, se debe notificar un ejemplo independientemente de si se han cumplido los umbrales.

Supongamos que el umbral lux es 1 lux:

Último ejemplo Ejemplo siguiente Resultado
100 lux 100 lux, pero el sensor ahora está bloqueado (la muestra anterior PKEY_SensorData_IsValid era verdadera) La muestra actual se notificaría con 100 lux y PKEY_SensorData_IsValid establecido en false.
100 lux y se bloqueó (el PKEY_SensorData_IsValid de ejemplo anterior era falso) 100000 lux y el sensor sigue bloqueado (PKEY_SensorData_IsValid es false) No se notifica ningún ejemplo.
Se bloqueó 0 lux y sensor (el PKEY_SensorData_IsValid de la muestra anterior era false) 0 lux, pero el sensor ahora está desbloqueado (PKEY_SensorData_IsValid es true) La muestra actual se notificaría como 0 lux, pero con PKEY_SensorData_IsValid establecido en true.

Calibración de luz

El servicio de brillo automático en Windows necesita sensores de luz para informar de una medición precisa del nivel de luz en el entorno. Cuando la fuente de luz está dirigida directamente a un sensor de luz que no admite el color, se requiere que el nivel de luz notificado esté dentro del 4 %, o al menos 1 lux del nivel de luz entrante real.

Intervalo claro

El servicio de brillo automático en Windows debe ser capaz de detectar un rango razonable de niveles de luz de 1 a 10 000 lux. Si el rango es menor que este, es posible que el brillo automático ajustado no pueda coincidir con el brillo real del entorno.

Consulte también