Un sensor de luz ambiental es un fotodetector que mide el nivel de luz externa para ajustar automáticamente el brillo de la pantalla. Mide la iluminancia en lux (lx) desde 0 (oscuridad total) hasta más de 100 000 lx (luz solar directa). Según la Nota de aplicación de Vishay, 2024, el brillo automático basado en ALS reduce el consumo de energía de la pantalla en un 25–40% en comparación con el control manual.
Puntos clave
Un sensor de luz ambiental (ALS) es un fotodetector semiconductor ubicado en el panel frontal del smartphone, cerca del altavoz de llamada. Los primeros teléfonos móviles con ALS aparecieron a mediados de los 2000 (Nokia N95, 2006), y hoy el sensor se instala incluso en modelos económicos desde 100 dólares.
Los ALS modernos tienen corrección espectral que acerca su sensibilidad a la del ojo humano (curva fotópica V(λ) con pico en 555 nm). El sensor mide la iluminancia en lux, una unidad que tiene en cuenta la sensibilidad espectral del ojo. Los fabricantes típicos son ams OSRAM (series TSL, TMD), Vishay (serie VEML) y Broadcom (serie APDS).
| Parámetro | Valor |
|---|---|
| Rango | 0 – más de 100 000 lx |
| Resolución | 0.1 lx (poca luz) |
| Consumo | 0.1–0.5 mA |
| Tamaño | 1.5×1.0×0.4 mm |
| Pico espectral | 555 nm (V(λ)) |
Además del brillo automático, el sensor de luz ambiental se usa para la calibración de la cámara (determinar las condiciones de disparo), en aplicaciones de monitoreo de iluminación (Light Meter) y en sistemas de hogar inteligente. Según Strategy Analytics (2024), más del 95% de los smartphones vendidos están equipados con ALS.
El ALS se basa en un fotodiodo de silicio que genera una fotocorriente proporcional a la intensidad de la luz incidente. La fotocorriente se convierte en voltaje mediante un amplificador de transimpedancia y se digitaliza con un ADC integrado (12–20 bits). Para la corrección espectral se utilizan filtros ópticos de interferencia o absorción que atenúan los componentes IR y UV.
El ojo humano percibe el brillo de forma logarítmica, por lo que el ALS tiene un amplificador logarítmico o programable para funcionar desde 0.1 lx (noche cerrada) hasta más de 100 000 lx (sol brillante). Según la hoja de datos de Broadcom APDS-9306 (2024), el sensor cambia automáticamente de ganancia cuando la iluminancia varía más de 100 veces — el tiempo de conmutación no supera los 100 ms.
Los ALS modernos (ams TSL2520) admiten la detección de parpadeo de lámparas LED y fuentes fluorescentes a 50/100 Hz o 60/120 Hz. Esta función la utilizan las cámaras para sincronizar el obturador — sin ella, aparecen bandas oscuras en las fotos debido al parpadeo de las lámparas. El ALS detecta la frecuencia y la transmite al procesador ISP de la cámara.
El brillo automático es la función principal del ALS. El algoritmo incluye 5 etapas: medición de la iluminancia, filtrado de ruido, cálculo del brillo objetivo, suavizado de la transición y aplicación a la pantalla. El brillo objetivo típico para diferentes condiciones: 2–5 cd/m² por la noche, 200–400 cd/m² en la oficina (500 lx), 600–1000+ cd/m² al sol (más de 50 000 lx).
A partir de Android 9 (Pie), Google introdujo curvas de brillo adaptativas que aprenden del comportamiento del usuario. Si el usuario cambia manualmente el brillo en un determinado nivel de iluminación, el sistema recuerda esa desviación y ajusta la curva. En Android 13+, se utiliza un modelo de aprendizaje automático en el dispositivo (TensorFlow Lite) para predecir las preferencias de brillo según la hora del día y el contexto.
Los cambios bruscos de brillo son incómodos para la vista. Los algoritmos modernos utilizan un filtro de paso bajo con una constante de tiempo de 0.5–3 segundos y un límite de velocidad de cambio de brillo (ramp rate limit). Apple utiliza una animación de transición de 200–400 ms al cambiar el brillo, lo que hace que el proceso sea imperceptible para el usuario. Los saltos bruscos (más del 5% por fotograma) se bloquean.
class AdaptiveBrightnessController {
private val smoothFactor = 0.15f
private var targetBrightness = 0.5f
fun calculateBrightness(
lux: Float,
userOverride: Float?
): Float {
val mapped = luxToBrightnessCurve(lux)
val adaptive = userOverride
?.let { it * 0.7f + mapped * 0.3f }
?: mapped
// Filtro de paso bajo (suavizado)
targetBrightness = smoothFactor * adaptive +
(1f - smoothFactor) * targetBrightness
return targetBrightness
}
private fun luxToBrightnessCurve(
lux: Float
): Float = when {
lux < 10f -> 0.05f
lux < 200f -> 0.15f + lux * 0.0005f
lux < 5000f -> 0.25f + lux * 0.00005f
else -> 0.7f + lux * 0.000005f
}
}
Sensor.TYPE_LIGHT proporciona la iluminancia actual en lux. Este sensor pertenece a la categoría de sensores ambientales — no requiere calibración y funciona de inmediato. La frecuencia de muestreo SENSOR_DELAY_NORMAL (200 ms) es suficiente para todos los escenarios. No se requieren permisos de usuario para que funcione el ALS.
Cuando la iluminancia cambia bruscamente (salir de un túnel a la luz del sol), el ALS reporta el valor con un retraso de 50–300 ms debido al filtro de paso bajo integrado en el chip del sensor. Esto evita el parpadeo del brillo durante cambios rápidos de luz (por ejemplo, al pasar por debajo de farolas). La aplicación puede filtrar adicionalmente los datos mediante una media móvil con una ventana de 3–5 muestras para eliminar el ruido.
class LightSensorMonitor {
private val windowSize = 5
private val readings = LinkedList<Float>()
fun smoothLightReading(lux: Float): Float {
readings.add(lux)
if (readings.size > windowSize) {
readings.removeFirst()
}
return readings.average().toFloat()
}
fun detectLightChange(
currentLux: Float
): LightChange = when {
currentLux < 5f -> LightChange.DARK
currentLux < 200f -> LightChange.INDOOR
currentLux < 5000f -> LightChange.OUTDOOR_SHADE
else -> LightChange.DIRECT_SUNLIGHT
}
}
enum class LightChange {
DARK, INDOOR, OUTDOOR_SHADE, DIRECT_SUNLIGHT
}
El sensor de luz ambiental está presente en el 99% de los smartphones modernos, pero para un funcionamiento correcto, verifíquelo mediante PackageManager.hasSystemFeature(FEATURE_SENSOR_LIGHT). En casos excepcionales (modelos ultraeconómicos, tabletas), el sensor puede estar ausente — la aplicación debe manejar correctamente un retorno null.
Además del brillo automático, el sensor de luz ambiental se utiliza en fotografía y aplicaciones de RA. La aplicación Camera FV-5 usa ALS para la selección automática de la exposición en modo manual. ARCore ajusta el brillo de los objetos virtuales según la iluminación real, haciendo que las escenas de RA sean fotorrealistas.
La pantalla es el componente que más energía consume de un smartphone: a 600 cd/m² consume 3–5 W. El brillo automático basado en ALS reduce el brillo medio de la pantalla en un 30–50% en interiores (200–500 lx) en comparación con el ajuste manual máximo. Según un estudio de DisplayMate (2024), los usuarios con el brillo automático activado obtienen entre un 25 y un 40% más de duración de la batería que aquellos que ajustan el brillo manualmente al máximo. En exteriores con más de 50 000 lx, el ALS aumenta el brillo a 800–1000 cd/m² para la legibilidad de la pantalla.
Las cámaras de smartphones modernas utilizan datos del ALS para seleccionar automáticamente un modo de disparo: HDR en contraluz, modo nocturno con iluminación inferior a 10 lx, modo retrato con luz de estudio. Según el libro blanco de Qualcomm Snapdragon ISP (2024), el ALS permite a la cámara determinar el tipo de fuente de luz — luz diurna, incandescente, LED o fluorescente — en 100 ms y ajustar el balance de blancos antes de pulsar el botón de disparo.
Los sensores de luz ambiental bajo la pantalla se están convirtiendo en el estándar en 2025–2026. Samsung y Apple ya están patentando tecnologías para colocar el ALS bajo los píxeles de la pantalla OLED. El desarrollo de sensores espectrales permitirá medir no solo la intensidad, sino también la temperatura de color de la luz (CCT) — esto mejorará True Tone y el balance de blancos automático de la cámara.
Preguntas frecuentes
El sensor de luz ambiental mide el nivel de luz externa en lux, el sistema lo compara con una curva de brillo y establece el brillo correspondiente de la pantalla. En Android 9+, la curva se adapta a las preferencias del usuario mediante aprendizaje automático en el dispositivo.
El sensor se encuentra en la parte superior de la pantalla, cerca del altavoz de llamada y la cámara frontal. En la mayoría de los teléfonos modernos, está oculto bajo el cristal de la pantalla y no es visible a simple vista. En los modelos antiguos, el sensor tiene el aspecto de un pequeño punto.
Razones: suciedad del sensor (polvo, marcas de grasa), un cristal protector grueso que cubre la zona del sensor o un fallo en la curva de adaptación. Limpie la parte superior de la pantalla con un paño suave. Si no funciona, desactive y active el brillo automático en los ajustes.
No — la cámara y el ALS son sensores diferentes. La cámara captura una imagen RGB, mientras que el ALS mide la intensidad de la luz con un fotodiodo con corrección espectral. Las aplicaciones de luxómetro que usan la cámara tienen un error del 50–100% en comparación con el ALS.
Marque *#0*# en la aplicación de teléfono (para Samsung) para entrar en el menú de ingeniería y seleccione Light Sensor. Para otras marcas, use Sensor Test de Google Play. Apunte el teléfono a una fuente de luz — las lecturas deben cambiar de 0 a más de 10 000 lx.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.
Lea también