Senzorul de lumină este un fotodetector care măsoară nivelul luminii externe pentru reglarea automată a luminozității display-ului. Acesta determină iluminarea în lucși (lx) de la 0 (întuneric total) la 100.000+ lx (lumina directă a soarelui). Conform Vishay Application Note, 2024, luminozitatea automată bazată pe ALS reduce consumul de energie al display-ului cu 25–40% comparativ cu controlul manual.
Principalele puncte
Senzorul de lumină (Ambient Light Sensor, ALS) este un fotodetector semiconductor situat pe panoul frontal al smartphone-ului lângă difuzorul de convorbire. Primele telefoane mobile cu ALS au apărut la mijlocul anilor 2000 (Nokia N95, 2006), iar astăzi senzorul este instalat chiar și în modelele bugetare de la 100 de dolari.
ALS-urile moderne au corecție spectrală care apropie sensibilitatea lor de ochiul uman (curba fotopică V(λ) cu vârf la 555 nm). Senzorul măsoară iluminarea în lucși — unitate care ține cont de sensibilitatea spectrală a ochiului. Producători tipici — ams OSRAM (seriile TSL, TMD), Vishay (seria VEML), Broadcom (seria APDS).
| Parametru | Valoare |
|---|---|
| Domeniu | 0 – 100.000+ lx |
| Rezoluție | 0.1 lx (lumină slabă) |
| Consum | 0.1–0.5 mA |
| Dimensiune | 1.5×1.0×0.4 mm |
| Vârf spectral | 555 nm (V(λ)) |
Pe lângă luminozitatea automată, senzorul de lumină este utilizat pentru calibrarea camerei (determinarea condițiilor de fotografiere), în aplicații de monitorizare a iluminării (Light Meter) și în sistemele de casă inteligentă. Conform Strategy Analytics (2024), peste 95% din toate smartphone-urile vândute sunt echipate cu ALS.
La baza ALS stă o fotodiodă de siliciu care generează un fotocurent proporțional cu intensitatea luminii incidente. Fotocurentul este convertit în tensiune printr-un amplificator transimpedanță și digitizat de un ADC încorporat (12–20 biți). Pentru corecția spectrală se utilizează filtre optice interferențiale sau de absorbție care atenuează componentele IR și UV.
Ochiul uman percepe luminozitatea logaritmic, de aceea ALS are un amplificator logaritmic sau programabil pentru funcționarea în domeniul de la 0.1 lx (noapte adâncă) la 100.000+ lx (soare puternic). Conform Broadcom APDS-9306 Datasheet (2024), senzorul comută automat câștigul la o modificare a iluminării de peste 100 de ori — timpul de comutare nu depășește 100 ms.
ALS-urile moderne (ams TSL2520) suportă detectarea pâlpâirii luminii de la lămpi LED și surse fluorescente cu frecvența de 50/100 Hz sau 60/120 Hz. Această funcție este utilizată de camere pentru sincronizarea obturatorului — fără ea, pe fotografii apar benzi întunecate de la pâlpâirea lămpilor. ALS înregistrează frecvența și o transmite procesorului ISP al camerei.
Luminozitatea automată — funcția principală a ALS. Algoritmul include 5 etape: măsurarea iluminării, filtrarea zgomotului, calcularea luminozității țintă, netezirea tranziției și aplicarea pe display. Luminozitatea țintă tipică pentru diferite condiții: 2–5 cd/m² noaptea, 200–400 cd/m² în birou (500 lx), 600–1000+ cd/m² la soare (50.000+ lx).
Începând cu Android 9 (Pie), Google a introdus curbe de luminozitate adaptive care învață din comportamentul utilizatorului. Dacă utilizatorul modifică manual luminozitatea la o anumită iluminare, sistemul reține această abatere și corectează curba. Pe Android 13+ se utilizează un model de învățare automată pe dispozitiv (TensorFlow Lite) pentru predicția preferințelor de luminozitate în funcție de ora zilei și context.
Schimbarea bruscă a luminozității este inconfortabilă pentru ochi. Algoritmii moderni utilizează un filtru trece-jos cu constantă de timp de 0.5–3 secunde și limitarea vitezei de modificare a luminozității (ramp rate limit). Apple utilizează o animație de tranziție de 200–400 ms la schimbarea luminozității, ceea ce face procesul invizibil pentru utilizator. Salturile bruște (mai mult de 5% pe cadru) sunt blocate.
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
// Filtru trece-jos (neteziere)
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 furnizează iluminarea curentă în lucși. Senzorul aparține categoriei Environmental Sensors — nu necesită calibrare și funcționează imediat. Frecvența de interogare — SENSOR_DELAY_NORMAL (200 ms) este suficientă pentru toate scenariile. Pentru funcționarea ALS nu sunt necesare permisiuni ale utilizatorului.
La o schimbare bruscă a iluminării (ieșirea din tunel la soare), ALS afișează valoarea cu o întârziere de 50–300 ms din cauza filtrului trece-jos încorporat în cipul senzorului. Aceasta previne pâlpâirea luminozității la modificări rapide ale luminii (de exemplu, la trecerea pe sub felinare). Aplicația poate filtra suplimentar datele printr-o medie mobilă (moving average) cu o fereastră de 3–5 eșantioane pentru eliminarea zgomotului.
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
}
Senzorul de lumină este prezent în 99% din smartphone-urile moderne, dar pentru funcționarea corectă verificați prin PackageManager.hasSystemFeature(FEATURE_SENSOR_LIGHT). În cazuri excepționale (modele ultra-bugetare, tablete) senzorul poate lipsi — aplicația trebuie să gestioneze corect returnarea null.
Pe lângă luminozitatea automată, senzorul de lumină este utilizat în fotografie și aplicații AR. Aplicația Camera FV-5 utilizează ALS pentru selectarea automată a perechii de expunere la fotografierea în modul manual. ARCore corectează luminozitatea obiectelor virtuale în funcție de iluminarea reală, făcând scenele AR fotorealiste.
Display-ul — componenta cea mai consumatoare de energie a smartphone-ului: la o luminozitate de 600 cd/m² consumă 3–5 W. Luminozitatea automată bazată pe ALS reduce luminozitatea medie a display-ului cu 30–50% în interior (200–500 lx) comparativ cu setarea manuală maximă. Conform studiului DisplayMate (2024), utilizatorii cu luminozitatea automată activată obțin cu 25–40% mai mult timp de funcționare a bateriei decât cei care setează luminozitatea manual la nivel maxim. În exterior la 50.000+ lx, ALS, dimpotrivă, crește luminozitatea la 800–1000 cd/m² pentru lizibilitatea ecranului.
Camerele smartphone-urilor moderne utilizează datele ALS pentru selectarea automată a modului de fotografiere: HDR la lumină de contur, modul noapte la iluminare sub 10 lx, modul portret la iluminare de studio. Conform Qualcomm Snapdragon ISP Whitepaper (2024), ALS permite camerei să determine în 100 ms tipul sursei de lumină — lumină naturală, bec incandescent, LED sau fluorescent — și să corecteze balansul de alb înainte de apăsarea butonului de declanșare.
Senzorii de lumină sub-ecran (under-display ALS) devin standard în 2025–2026. Samsung și Apple deja patentează tehnologii de amplasare a ALS sub pixelii display-ului OLED. Dezvoltarea senzorilor spectrali va permite măsurarea nu doar a intensității, ci și a temperaturii de culoare a luminii (CCT) — aceasta va îmbunătăți True Tone și balansul automat de alb al camerei.
Întrebări frecvente
Senzorul de lumină măsoară nivelul luminii externe în lucși, sistemul îl compară cu curba de luminozitate și setează luminozitatea corespunzătoare a display-ului. Pe Android 9+ curba se adaptează la preferințele utilizatorului cu ajutorul învățării automate pe dispozitiv.
Senzorul este situat în partea superioară a ecranului, lângă difuzorul de convorbire și camera frontală. În majoritatea telefoanelor moderne este ascuns sub sticla display-ului și nu este vizibil cu ochiul liber. La modelele vechi, senzorul arată ca un punct mic.
Cauze: murdărirea senzorului (praf, urme de grăsime), geam de protecție gros care acoperă zona senzorului sau o defecțiune în curba de adaptare. Ștergeți partea superioară a ecranului cu o cârpă moale. Dacă nu ajută — dezactivați și reactivați luminozitatea automată în setări.
Nu — camera și ALS sunt senzori diferiți. Camera captează imaginea în format RGB, ALS măsoară intensitatea luminii cu o fotodiodă corectată spectral. Aplicațiile-luxmetru care utilizează camera au o eroare de 50–100% comparativ cu ALS.
Formați în aplicația de telefon *#0*# (pentru Samsung) pentru a intra în meniul de inginerie și selectați Light Sensor. Pentru alte mărci utilizați Sensor Test din Google Play. Orientați telefonul spre o sursă de lumină — valorile ar trebui să se modifice de la 0 la 10.000+ lx.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și