A fényérzékelő egy fotodetektor, amely a külső fény szintjét méri a kijelző fényerejének automatikus szabályozásához. Meghatározza a megvilágítást luxban (lx) 0-tól (teljes sötétség) 100 000+ lx-ig (közvetlen napfény). A Vishay Application Note, 2024 szerint az ALS-alapú automatikus fényerő 25–40%-kal csökkenti a kijelző energiafogyasztását a kézi vezérléshez képest.
Főbb pontok
Fényérzékelő (Ambient Light Sensor, ALS) — egy félvezető fotodetektor, amely az okostelefon előlapján található a beszédhangszóró mellett. Az első ALS-sel ellátott mobiltelefonok a 2000-es évek közepén jelentek meg (Nokia N95, 2006), ma pedig a szenzort már a 100 dollártól kezdődő belépő szintű modellekbe is beépítik.
A modern ALS-ek spektrális korrekcióval rendelkeznek, amely közelíti érzékenységüket az emberi szeméhez (fotopikus görbe V(λ) 555 nm-es csúccsal). A szenzor luxban méri a megvilágítást — ez az egység figyelembe veszi a szem spektrális érzékenységét. Tipikus gyártók — ams OSRAM (TSL, TMD sorozatok), Vishay (VEML sorozat), Broadcom (APDS sorozat).
| Paraméter | Érték |
|---|---|
| Tartomány | 0 – 100 000+ lx |
| Felbontás | 0.1 lx (gyenge fény) |
| Fogyasztás | 0.1–0.5 mA |
| Méret | 1.5×1.0×0.4 mm |
| Spektrális csúcs | 555 nm (V(λ)) |
Az automatikus fényerőn kívül a fényérzékelőt kamera kalibrálására (fényképezési körülmények meghatározása), fényfigyelő alkalmazásokban (Light Meter) és okosotthon rendszerekben használják. A Strategy Analytics (2024) szerint az összes eladott okostelefon több mint 95%-a rendelkezik ALS-sel.
Az ALS alapja egy szilícium fotodióda, amely a beeső fény intenzitásával arányos fotoáramot generál. A fotoáramot egy transzimpedancia erősítő feszültséggé alakítja, és egy beépített ADC (12–20 bit) digitalizálja. A spektrális korrekcióhoz interferenciás vagy abszorpciós optikai szűrőket használnak, amelyek gyengítik az infravörös és UV komponenseket.
Az emberi szem logaritmikusan érzékeli a fényességet, ezért az ALS logaritmikus vagy programozható erősítővel rendelkezik a 0.1 lx (mély éjszaka) és 100 000+ lx (erős napfény) közötti tartományban való működéshez. A Broadcom APDS-9306 adatlapja (2024) szerint a szenzor automatikusan váltja az erősítést, ha a megvilágítás több mint 100-szor változik — a kapcsolási idő nem haladja meg a 100 ms-ot.
A modern ALS-ek (ams TSL2520) támogatják a LED-lámpák és fénycsövek 50/100 Hz vagy 60/120 Hz frekvenciájú fényének villogás érzékelését. Ezt a funkciót a kamerák használják a zár szinkronizálásához — enélkül sötét csíkok jelennek meg a fényképeken a lámpák villogásától. Az ALS rögzíti a frekvenciát, és továbbítja a kamera ISP processzorának.
Automatikus fényerő — az ALS fő funkciója. Az algoritmus 5 szakaszból áll: megvilágítás mérése, zajszűrés, célfényerő kiszámítása, átmenet simítása és alkalmazása a kijelzőn. Tipikus célfényerő különböző körülmények között: 2–5 cd/m² éjszaka, 200–400 cd/m² irodában (500 lx), 600–1000+ cd/m² napon (50 000+ lx).
Az Android 9-től (Pie) kezdve a Google bevezette az adaptív fényerő görbéket, amelyek a felhasználó viselkedéséből tanulnak. Ha a felhasználó kézzel módosítja a fényerőt egy adott megvilágításnál, a rendszer eltárolja ezt az eltérést és korrigálja a görbét. Android 13+ esetén a készüléken futó gépi tanulási modellt (TensorFlow Lite) használnak a fényerő-preferenciák előrejelzésére a napszak és a kontextus alapján.
A fényerő hirtelen megváltozása kényelmetlen a szemnek. A modern algoritmusok aluláteresztő szűrőt használnak 0.5–3 másodperces időállandóval és a fényerő változási sebességének korlátozásával (ramp rate limit). Az Apple 200–400 ms-os átmeneti animációt használ a fényerő változásakor, ami láthatatlanná teszi a folyamatot a felhasználó számára. A hirtelen ugrások (több mint 5% képkockánként) blokkolásra kerülnek.
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
// Aluláteresztő szűrő (simítás)
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 biztosítja az aktuális megvilágítást luxban. A szenzor az Environmental Sensors kategóriába tartozik — nem igényel kalibrálást és azonnal működik. A lekérdezési frekvencia — SENSOR_DELAY_NORMAL (200 ms) minden forgatókönyvhöz elegendő. Az ALS működéséhez nincs szükség felhasználói engedélyekre.
A megvilágítás hirtelen megváltozásakor (alagútból napfényre kilépve) az ALS 50–300 ms késleltetéssel mutatja az értéket a szenzorchipbe épített aluláteresztő szűrő miatt. Ez megakadályozza a fényerő villogását gyors fényváltozásoknál (pl. lámpák alatt elhaladva). Az alkalmazás tovább szűrheti az adatokat mozgóátlaggal (moving average) 3–5 minta ablakával a zaj eltávolítására.
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
}
A fényérzékelő a modern okostelefonok 99%-ában megtalálható, de a helyes működés érdekében ellenőrizze a PackageManager.hasSystemFeature(FEATURE_SENSOR_LIGHT) segítségével. Kivételes esetekben (ultra-olcsó modellek, táblagépek) a szenzor hiányozhat — az alkalmazásnak megfelelően kell kezelnie a null visszatérési értéket.
Az automatikus fényerőn kívül a fényérzékelőt fotózásban és AR alkalmazásokban használják. A Camera FV-5 alkalmazás az ALS-t használja az expozíciós pár automatikus kiválasztásához kézi módban történő fényképezéskor. Az ARCore korrigálja a virtuális objektumok fényerejét a valós megvilágítás alapján, fotorealisztikussá téve az AR jeleneteket.
A kijelző — az okostelefon leginkább energiaigényes alkatrésze: 600 cd/m² fényerőnél 3–5 W-ot fogyaszt. Az ALS-alapú automatikus fényerő beltéren (200–500 lx) 30–50%-kal csökkenti a kijelző átlagos fényerejét a maximális kézi beállításhoz képest. A DisplayMate (2024) kutatása szerint az automatikus fényerővel rendelkező felhasználók 25–40%-kal több akkumulátoridőt kapnak, mint azok, akik kézzel állítják be a fényerőt maximális szintre. A szabadban 50 000+ lx esetén az ALS ellenkezőleg, 800–1000 cd/m²-re növeli a fényerőt a képernyő olvashatósága érdekében.
A modern okostelefon kamerák az ALS adatait használják a fényképezési mód automatikus kiválasztásához: HDR kontrafényben, éjszakai mód 10 lx alatti megvilágításnál, portré mód stúdióvilágításnál. A Qualcomm Snapdragon ISP Whitepaper (2024) szerint az ALS lehetővé teszi a kamera számára, hogy 100 ms alatt meghatározza a fényforrás típusát — nappali fény, izzólámpa, LED vagy fénycső — és korrigálja a fehéregyensúlyt a kioldógomb megnyomása előtt.
Kijelző alatti fényérzékelők (under-display ALS) 2025–2026-ra szabvánnyá válnak. A Samsung és az Apple már szabadalmaztatják az ALS OLED kijelző pixelek alá helyezésének technológiáit. A spektrális érzékelők fejlődése lehetővé teszi nemcsak az intenzitás, hanem a fény színhőmérsékletének (CCT) mérését is — ez javítani fogja a True Tone-t és a kamera automatikus fehéregyensúlyát.
Gyakran Ismételt Kérdések
A fényérzékelő méri a külső fény szintjét luxban, a rendszer összehasonlítja a fényerőgörbével és beállítja a kijelző megfelelő fényerejét. Android 9+ esetén a görbe a felhasználói preferenciákhoz alkalmazkodik a készüléken futó gépi tanulás segítségével.
A szenzor a képernyő felső részében található, a beszédhangszóró és az előlapi kamera mellett. A legtöbb modern telefonban a kijelző üvege alá van rejtve, és szabad szemmel nem látható. Régebbi modelleknél a szenzor egy kis pontnak tűnik.
Okok: szenzor szennyeződése (por, zsíros nyomok), vastag védőüveg, amely eltakarja a szenzor területét, vagy hiba az adaptációs görbében. Törölje le a képernyő felső részét egy puha ruhával. Ha ez nem segít — kapcsolja ki, majd be az automatikus fényerőt a beállításokban.
Nem — a kamera és az ALS különböző érzékelők. A kamera RGB formátumban rögzít képet, az ALS spektrálisan korrigált fotodiódával méri a fény intenzitását. Azok a luxmérő alkalmazások, amelyek a kamerát használják, 50–100%-os hibát adnak az ALS-hez képest.
Tárcsázza a telefonalkalmazásban a *#0*# (Samsung esetén) számot a mérnöki menübe való belépéshez, és válassza a Light Sensor lehetőséget. Más márkák esetén használja a Sensor Test alkalmazást a Google Play Áruházból. Irányítsa a telefont egy fényforrásra — az értékeknek 0-tól 10 000+ lx-ig kell változniuk.
Összegzés
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is