سنسور نور یک آشکارساز نوری است که سطح نور محیط را برای تنظیم خودکار روشنایی نمایشگر اندازهگیری میکند. این سنسور روشنایی را بر حسب لوکس (lx) از 0 (تاریکی کامل) تا 100,000+ lx (نور مستقیم خورشید) تعیین میکند. طبق Vishay Application Note, 2024، روشنایی خودکار مبتنی بر ALS مصرف انرژی نمایشگر را 25 تا 40 درصد در مقایسه با کنترل دستی کاهش میدهد.
نکات اصلی
سنسور نور (Ambient Light Sensor, ALS) یک آشکارساز نوری نیمههادی است که در پنل جلویی گوشی هوشمند در کنار بلندگوی مکالمه قرار دارد. اولین تلفنهای همراه با ALS در اواسط دهه 2000 (Nokia N95, 2006) ظاهر شدند و امروزه سنسور حتی در مدلهای اقتصادی از 100 دلار نصب میشود.
ALSهای مدرن دارای تصحیح طیفی هستند که حساسیت آنها را به چشم انسان نزدیک میکند (منحنی فوتوپیک V(λ) با اوج در 555 نانومتر). سنسور روشنایی را بر حسب لوکس اندازهگیری میکند — واحدی که حساسیت طیفی چشم را در نظر میگیرد. تولیدکنندگان معمول — ams OSRAM (سریهای TSL، TMD)، Vishay (سری VEML)، Broadcom (سری APDS).
| پارامتر | مقدار |
|---|---|
| محدوده | 0 – 100,000+ lx |
| دقت | 0.1 lx (نور کم) |
| مصرف | 0.1–0.5 mA |
| ابعاد | 1.5×1.0×0.4 mm |
| اوج طیفی | 555 nm (V(λ)) |
علاوه بر روشنایی خودکار، سنسور نور برای کالیبراسیون دوربین (تعیین شرایط عکاسی)، در برنامههای پایش نور (Light Meter) و در سیستمهای خانه هوشمند استفاده میشود. طبق Strategy Analytics (2024)، بیش از 95٪ از تمام گوشیهای هوشمند فروخته شده مجهز به ALS هستند.
اساس ALS یک فوتودیود سیلیکونی است که جریان نوری متناسب با شدت نور تابیده تولید میکند. جریان نوری از طریق تقویتکننده ترانسامپدانس به ولتاژ تبدیل شده و توسط ADC داخلی (12–20 بیت) دیجیتالی میشود. برای تصحیح طیفی از فیلترهای نوری تداخلی یا جذبی استفاده میشود که مؤلفههای IR و UV را تضعیف میکنند.
چشم انسان روشنایی را به صورت لگاریتمی درک میکند، بنابراین ALS دارای تقویتکننده لگاریتمی یا قابل برنامهریزی برای کار در محدوده 0.1 lx (شب عمیق) تا 100,000+ lx (خورشید روشن) است. طبق Broadcom APDS-9306 Datasheet (2024)، سنسور هنگام تغییر روشنایی بیش از 100 برابر به طور خودکار بهره را تغییر میدهد — زمان سوئیچینگ از 100 میلیثانیه تجاوز نمیکند.
ALSهای مدرن (ams TSL2520) از تشخیص سوسو نور از لامپهای LED و منابع فلورسنت با فرکانس 50/100 هرتز یا 60/120 هرتز پشتیبانی میکنند. این عملکرد توسط دوربینها برای همگامسازی شاتر استفاده میشود — بدون آن، نوارهای تیره از سوسو زدن لامپها در عکسها ظاهر میشوند. ALS فرکانس را ثبت کرده و به پردازنده ISP دوربین منتقل میکند.
روشنایی خودکار — عملکرد اصلی ALS. الگوریتم شامل 5 مرحله است: اندازهگیری روشنایی، فیلتر نویز، محاسبه روشنایی هدف، هموارسازی انتقال و اعمال به نمایشگر. روشنایی هدف معمول برای شرایط مختلف: 2–5 cd/m² در شب، 200–400 cd/m² در دفتر (500 lx)، 600–1000+ cd/m² در آفتاب (50,000+ lx).
از Android 9 (Pie) به بعد، گوگل منحنیهای روشنایی تطبیقی را معرفی کرد که از رفتار کاربر یاد میگیرند. اگر کاربر به طور دستی روشنایی را در یک نور خاص تغییر دهد، سیستم این انحراف را ذخیره کرده و منحنی را تصحیح میکند. در Android 13+ از مدل یادگیری ماشین روی دستگاه (TensorFlow Lite) برای پیشبینی ترجیحات روشنایی بر اساس زمان روز و زمینه استفاده میشود.
تغییر ناگهانی روشنایی برای چشم ناراحتکننده است. الگوریتمهای مدرن از فیلتر پایینگذر با ثابت زمانی 0.5–3 ثانیه و محدودیت نرخ تغییر روشنایی (ramp rate limit) استفاده میکنند. اپل از انیمیشن انتقال 200–400 میلیثانیه در تغییر روشنایی استفاده میکند که فرآیند را برای کاربر نامرئی میکند. جهشهای ناگهانی (بیش از 5٪ در هر فریم) مسدود میشوند.
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
// فیلتر پایینگذر (هموارسازی)
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 روشنایی فعلی را بر حسب لوکس ارائه میدهد. سنسور به دسته Environmental Sensors تعلق دارد — نیازی به کالیبراسیون ندارد و بلافاصله کار میکند. فرکانس پرسوجو — SENSOR_DELAY_NORMAL (200 میلیثانیه) برای همه سناریوها کافی است. برای کار ALS نیازی به مجوز کاربر نیست.
در تغییر ناگهانی نور (خروج از تونل به آفتاب)، ALS مقدار را با تأخیر 50–300 میلیثانیه به دلیل فیلتر پایینگذر داخلی در تراشه سنسور نشان میدهد. این کار از سوسو زدن روشنایی در تغییرات سریع نور (مثلاً هنگام عبور از زیر چراغها) جلوگیری میکند. برنامه میتواند دادهها را از طریق میانگین متحرک (moving average) با پنجره 3–5 نمونه برای حذف نویز فیلتر کند.
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
}
سنسور نور در 99٪ از گوشیهای هوشمند مدرن وجود دارد، اما برای کار صحیح از طریق PackageManager.hasSystemFeature(FEATURE_SENSOR_LIGHT) بررسی کنید. در موارد استثنایی (مدلهای فوقاقتصادی، تبلتها) سنسور ممکن است وجود نداشته باشد — برنامه باید بازگشت null را به درستی مدیریت کند.
علاوه بر روشنایی خودکار، سنسور نور در عکاسی و برنامههای AR استفاده میشود. برنامه Camera FV-5 از ALS برای انتخاب خودکار جفت نوردهی در عکاسی با حالت دستی استفاده میکند. ARCore روشنایی اشیاء مجازی را بر اساس نور واقعی تصحیح میکند و صحنههای AR را فوتورئالیستی میکند.
نمایشگر — پرمصرفترین جزء گوشی هوشمند: در روشنایی 600 cd/m²، 3–5 وات مصرف میکند. روشنایی خودکار مبتنی بر ALS میانگین روشنایی نمایشگر را در داخل ساختمان (200–500 lx) 30–50٪ در مقایسه با تنظیم دستی حداکثر کاهش میدهد. طبق تحقیقات DisplayMate (2024)، کاربرانی که روشنایی خودکار فعال دارند 25–40٪ عمر باتری بیشتری نسبت به کسانی که روشنایی را به صورت دستی در حداکثر سطح تنظیم میکنند، دریافت میکنند. در فضای باز در 50,000+ lx، ALS برعکس، روشنایی را به 800–1000 cd/m² برای خوانایی صفحه افزایش میدهد.
دوربینهای گوشیهای هوشمند مدرن از دادههای ALS برای انتخاب خودکار حالت عکاسی استفاده میکنند: HDR در نور پسزمینه، حالت شب در روشنایی زیر 10 lx، حالت پرتره در نور استودیویی. طبق Qualcomm Snapdragon ISP Whitepaper (2024)، ALS به دوربین اجازه میدهد در 100 میلیثانیه نوع منبع نور — نور روز، لامپ رشتهای، LED یا فلورسنت — را تعیین کرده و تراز سفیدی را قبل از فشار دکمه شاتر تصحیح کند.
سنسورهای نور زیر نمایشگر (under-display ALS) در سالهای 2025–2026 به استاندارد تبدیل میشوند. سامسونگ و اپل در حال ثبت اختراع فناوریهای قرار دادن ALS زیر پیکسلهای نمایشگر OLED هستند. توسعه سنسورهای طیفی امکان اندازهگیری نه تنها شدت، بلکه دمای رنگ نور (CCT) را فراهم میکند — این کار True Tone و تراز سفیدی خودکار دوربین را بهبود میبخشد.
سؤالات متداول
سنسور نور سطح نور محیط را بر حسب لوکس اندازهگیری میکند، سیستم آن را با منحنی روشنایی مقایسه کرده و روشنایی متناسب نمایشگر را تنظیم میکند. در Android 9+ منحنی با استفاده از یادگیری ماشین روی دستگاه با ترجیحات کاربر تطبیق مییابد.
سنسور در قسمت بالای صفحه، در کنار بلندگوی مکالمه و دوربین جلو قرار دارد. در اکثر تلفنهای مدرن، در زیر شیشه نمایشگر پنهان است و با چشم غیرمسلح دیده نمیشود. در مدلهای قدیمی، سنسور به صورت یک نقطه کوچک به نظر میرسد.
دلایل: آلودگی سنسور (گرد و غبار، اثر چربی)، شیشه محافظ ضخیم پوشاننده ناحیه سنسور، یا نقص در منحنی تطبیق. قسمت بالای صفحه را با پارچه نرم پاک کنید. اگر کمکی نکرد — روشنایی خودکار را در تنظیمات خاموش و روشن کنید.
خیر — دوربین و ALS سنسورهای متفاوتی هستند. دوربین تصویر را با فرمت RGB ثبت میکند، ALS شدت نور را با فوتودیود تصحیحشده طیفی اندازهگیری میکند. برنامههای لوکسمتر که از دوربین استفاده میکنند در مقایسه با ALS 50–100٪ خطا دارند.
در برنامه تلفن *#0*# (برای سامسونگ) را شمارهگیری کنید تا وارد منوی مهندسی شوید و Light Sensor را انتخاب کنید. برای برندهای دیگر از Sensor Test از Google Play استفاده کنید. تلفن را به سمت منبع نور بگیرید — مقادیر باید از 0 تا 10,000+ lx تغییر کنند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید