Un sensore di luce ambientale è un fotorivelatore che misura il livello di luce esterna per regolare automaticamente la luminosità del display. Misura l’illuminamento in lux (lx) da 0 (buio totale) a oltre 100.000 lx (luce solare diretta). Secondo la Nota applicativa Vishay, 2024, la luminosità automatica basata su ALS riduce il consumo energetico del display del 25–40% rispetto al controllo manuale.
Punti chiave
Un sensore di luce ambientale (ALS) è un fotorivelatore a semiconduttore situato sul pannello frontale dello smartphone, vicino all’altoparlante auricolare. I primi telefoni cellulari con ALS sono apparsi a metà degli anni 2000 (Nokia N95, 2006), e oggi il sensore è installato anche nei modelli economici a partire da 100 dollari.
Gli ALS moderni hanno una correzione spettrale che avvicina la loro sensibilità a quella dell’occhio umano (curva fotopica V(λ) con un picco a 555 nm). Il sensore misura l’illuminamento in lux — un’unità che tiene conto della sensibilità spettrale dell’occhio. I produttori tipici sono ams OSRAM (serie TSL, TMD), Vishay (serie VEML) e Broadcom (serie APDS).
| Parametro | Valore |
|---|---|
| Intervallo | 0 – oltre 100.000 lx |
| Risoluzione | 0,1 lx (poca luce) |
| Consumo | 0,1–0,5 mA |
| Dimensioni | 1,5×1,0×0,4 mm |
| Picco spettrale | 555 nm (V(λ)) |
Oltre alla luminosità automatica, il sensore di luce ambientale viene utilizzato per la calibrazione della fotocamera (determinazione delle condizioni di scatto), nelle app di monitoraggio della luce (Light Meter) e nei sistemi di casa intelligente. Secondo Strategy Analytics (2024), oltre il 95% di tutti gli smartphone venduti è dotato di ALS.
Il cuore dell’ALS è un fotodiodo al silicio che genera una fotocorrente proporzionale all’intensità della luce incidente. La fotocorrente viene convertita in tensione attraverso un amplificatore a transimpedenza e digitalizzata da un ADC integrato (12–20 bit). Per la correzione spettrale vengono utilizzati filtri ottici a interferenza o assorbimento, che attenuano le componenti IR e UV.
L’occhio umano percepisce la luminosità in modo logaritmico, quindi l’ALS dispone di un amplificatore logaritmico o programmabile per funzionare da 0,1 lx (notte fonda) a oltre 100.000 lx (sole splendente). Secondo la scheda tecnica del Broadcom APDS-9306 (2024), il sensore cambia automaticamente guadagno quando l’illuminamento varia di oltre 100 volte — il tempo di commutazione non supera i 100 ms.
Gli ALS moderni (ams TSL2520) supportano il rilevamento dello sfarfallio delle lampade LED e delle fonti fluorescenti a 50/100 Hz o 60/120 Hz. Questa funzione viene utilizzata dalle fotocamere per sincronizzare l’otturatore — senza di essa, appaiono bande scure nelle foto a causa dello sfarfallio delle lampade. L’ALS rileva la frequenza e la trasmette al processore ISP della fotocamera.
La luminosità automatica è la funzione principale dell’ALS. L’algoritmo include 5 fasi: misurazione dell’illuminamento, filtraggio del rumore, calcolo della luminosità target, smussamento della transizione e applicazione al display. La luminosità target tipica per diverse condizioni: 2–5 cd/m² di notte, 200–400 cd/m² in ufficio (500 lx), 600–1000+ cd/m² al sole (oltre 50.000 lx).
A partire da Android 9 (Pie), Google ha introdotto curve di luminosità adattive che imparano dal comportamento dell’utente. Se un utente modifica manualmente la luminosità a un determinato livello di illuminamento, il sistema memorizza questa deviazione e regola la curva. Su Android 13+, viene utilizzato un modello di apprendimento automatico sul dispositivo (TensorFlow Lite) per prevedere le preferenze di luminosità in base all’ora del giorno e al contesto.
I cambiamenti bruschi di luminosità sono scomodi per gli occhi. Gli algoritmi moderni utilizzano un filtro passa-basso con una costante di tempo di 0,5–3 secondi e un limite di velocità di variazione della luminosità (ramp rate limit). Apple utilizza un’animazione di transizione di 200–400 ms durante il cambio di luminosità, rendendo il processo impercettibile per l’utente. I salti bruschi (più del 5% per fotogramma) vengono bloccati.
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 passa-basso (smussamento)
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 fornisce l’illuminamento corrente in lux. Questo sensore appartiene alla categoria dei sensori ambientali — non richiede calibrazione e funziona immediatamente. La frequenza di campionamento SENSOR_DELAY_NORMAL (200 ms) è sufficiente per tutti gli scenari. Non sono necessarie autorizzazioni utente per il funzionamento dell’ALS.
Quando l’illuminamento cambia bruscamente (uscita da un tunnel alla luce del sole), l’ALS segnala il valore con un ritardo di 50–300 ms a causa del filtro passa-basso integrato nel chip del sensore. Ciò impedisce lo sfarfallio della luminosità durante i rapidi cambiamenti di luce (ad esempio, passando sotto i lampioni). L’app può filtrare ulteriormente i dati attraverso una media mobile con una finestra di 3–5 campioni per eliminare il rumore.
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
}
Il sensore di luce ambientale è presente nel 99% degli smartphone moderni, ma per un funzionamento corretto, verificare tramite PackageManager.hasSystemFeature(FEATURE_SENSOR_LIGHT). In casi eccezionali (modelli ultra-economici, tablet), il sensore potrebbe essere assente — l’app deve gestire correttamente un ritorno null.
Oltre alla luminosità automatica, il sensore di luce ambientale viene utilizzato in fotografia e app di realtà aumentata. L’app Camera FV-5 utilizza l’ALS per l’abbinamento automatico dell’esposizione in modalità manuale. ARCore regola la luminosità degli oggetti virtuali in base all’illuminazione reale, rendendo le scene AR fotorealistiche.
Il display è il componente che consuma più energia di uno smartphone: a 600 cd/m² consuma 3–5 W. La luminosità automatica basata su ALS riduce la luminosità media del display del 30–50% in ambienti interni (200–500 lx) rispetto all’impostazione manuale massima. Secondo la ricerca DisplayMate (2024), gli utenti con luminosità automatica attivata ottengono dal 25 al 40% in più di durata della batteria rispetto a quelli che impostano manualmente la luminosità al massimo. All’aperto con oltre 50.000 lx, l’ALS aumenta invece la luminosità a 800–1000 cd/m² per la leggibilità dello schermo.
Le fotocamere degli smartphone moderni utilizzano i dati dell’ALS per selezionare automaticamente una modalità di scatto: HDR in controluce, modalità notturna con illuminamento inferiore a 10 lx, modalità ritratto in illuminazione da studio. Secondo il whitepaper Qualcomm Snapdragon ISP (2024), l’ALS consente alla fotocamera di determinare il tipo di sorgente luminosa — luce diurna, incandescente, LED o fluorescente — entro 100 ms e regolare il bilanciamento del bianco prima che venga premuto il pulsante di scatto.
I sensori di luce ambientale sotto il display stanno diventando lo standard nel 2025–2026. Samsung e Apple stanno già brevettando tecnologie per posizionare l’ALS sotto i pixel dei display OLED. Lo sviluppo di sensori spettrali consentirà di misurare non solo l’intensità, ma anche la temperatura di colore della luce (CCT) — questo migliorerà True Tone e il bilanciamento automatico del bianco della fotocamera.
Domande frequenti
Il sensore di luce ambientale misura il livello di luce esterna in lux, il sistema lo associa a una curva di luminosità e imposta la corrispondente luminosità del display. Su Android 9+, la curva si adatta alle preferenze dell’utente utilizzando l’apprendimento automatico sul dispositivo.
Il sensore si trova nella parte superiore dello schermo, vicino all’altoparlante auricolare e alla fotocamera anteriore. Nella maggior parte dei telefoni moderni, è nascosto sotto il vetro del display e non è visibile a occhio nudo. Sui modelli più vecchi, il sensore appare come un piccolo punto.
Cause: sporcizia sul sensore (polvere, impronte di grasso), un vetro protettivo spesso che copre l’area del sensore o un malfunzionamento della curva di adattamento. Pulire la parte superiore dello schermo con un panno morbido. Se non aiuta, disattivare e riattivare la luminosità automatica nelle impostazioni.
No — la fotocamera e l’ALS sono sensori diversi. La fotocamera acquisisce un’immagine RGB, mentre l’ALS misura l’intensità della luce con un fotodiodo a correzione spettrale. Le app luxmetro che utilizzano la fotocamera hanno un errore del 50–100% rispetto all’ALS.
Comporre *#0*# nell’app telefono (per Samsung) per accedere al menu di servizio e selezionare Light Sensor. Per gli altri marchi, utilizzare Sensor Test da Google Play. Puntare il telefono verso una sorgente luminosa — le letture dovrebbero variare da 0 a oltre 10.000 lx.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche