Yaxınlıq sensoru, smartfon ekranı qarşısında fiziki təmas olmadan obyektin varlığını təyin edən infraqırmızı sensordur. Əsas funksiyası — telefon danışığı zamanı təsadüfi toxunuşların qarşısını almaq və batareya enerjisinə qənaət etmək üçün ekranı söndürməkdir. Google Android Developer Guide, 2024-yə görə, müasir yaxınlıq sensorları 0-dan 10 sm-ə qədər məsafəni 0.5 sm dəqiqliklə ölçür və cavab müddəti 50 ms-dən azdır.
Başlıca
Yaxınlıq sensoru (proximity sensor) — smartfonun ön panelinin yuxarı hissəsində, danışıq dinamikinin yanında yerləşən təmassız infraqırmızı sensordur. O, infraqırmızı işıq diodundan (IR LED) və fotodetektordan (fotodiod və ya fototransistor) ibarətdir. Yaxınlıq sensoru olan ilk kütləvi smartfon Apple iPhone (2007) oldu — o vaxtdan bəri sensor bütün müasir telefonların məcburi komponentinə çevrildi.
Sensor adətən ekranın şuşəsi altında gizlədilir və yalnız müəyyən bucaq altında kiçik bir nöqtə kimi görünür. Müasir modellərdə şuşədəki əkslərdən yalanış işləmələri istisna etmək üçün dar istiqamət diaqramı (15–30 dərəcə) olan optik modul istifadə olunur. İstehsalçılar — Sharp, ams OSRAM (TMD seriyası), Silicon Labs və onların podratçı tərəfdaşları.
| Parametr | Dəyər |
|---|---|
| Dalğa uzunluğu | 850–940 nm (görünməz IR diapazonu) |
| Məsafə | 0–10 sm |
| Dəqiqlik | 0.5 sm |
| Enerji sərfiyyatı | 0.3–0.7 mA |
| Cavab müddəti | 10–50 ms |
Mobil cihazlarda diskret sensorlar (ayrı IR LED + fotodiod çipi) və inteqrasiya olunmuş modullar (hər iki element bir çipdə) istifadə olunur. İnteqrasiya olunmuş həllər (ams TMD2635, ölçüsü 1×1×0.5 mm) müasir flaqmanların ultra nazik korpuslarında istifadə olunur və lövhədə minimum yer tutur.
Yaxınlıq sensorunun işləmə prinsipi əks olunan IR şüalanmasının intensivliyinin ölçülməsinə əsaslanır. İnfraqırmızı işıq diodu işıq impulsu (850–940 nm) buraxır, fotodiod isə obyektdən əks olunan işığın miqdarını ölçür. Əks olunan siqnal həddi keçərsə — obyekt yaxın sayılır (3–5 sm-dən az).
Əsas texniki problem günəş işığı və digər IR mənbələrindən gələn müdaxilələrdir. Həll — şüalanmanın modulyasiyası: IR LED 10–100 Hz tezliyi ilə impulslar buraxır, fotodetektor isə siqnalı sinxron şəkildə aşkarlayır, sabit komponenti süzür. ams Application Note AN000610 (2024)-yə görə, sinxron aşkarlama sxemi fon işığını 40–60 dB basdırır.
İşləmə həddi istehsalçı tərəfindən kalibrləmə mərhələsində təyin olunur və ekran şuşəsinin şeffaflığından asılıdır. Tipik hədd — əks 2–4 sm məsafəyə uyğurdur. Barmaq və ya qulaq hљddən az məsafədə olduqda, sensor 0 dəyərini (yaxın), əks halda isə maksimum diapazon dəyərini (modeldən asılı olaraq 8–10 sm) qaytarır.
Yaxınlıq sensoru (IR proximity) əks intensivliyini ölçür — iki vəziyyətli binar sensor. Time-of-Flight (ToF) işığın obyektə gedib qayıtması vaxtını ölçür və bir neçə metrə qədər məsafəni dəqiq təyin etməyə imkan verir. Mobil cihazlarda ToF sensorları (STMicroelectronics tərəfindən VL53L5) kamera avtofokusu və AR tətbiqləri üçün istifadə olunur.
Zəng zamanı ekranı söndürmək tapşırığı üçün sadə binar IR sensoru kifayətdir — onun dəyəri 0.10–0.30 dollardır, ToF modulu isə 1–3 dollardır. ToF sensoru dəqiq məsafəölçən funksiyası əlavə edir, lakin əsas tapşırıq üçün artıqdır. Bəzi flaqmanlarda (Samsung Galaxy S23 Ultra) hər iki texnologiyanı birləşdirən kombinə modullar istifadə olunur.
| Parametr | IR Proximity | ToF Sensoru |
|---|---|---|
| Prinsip | Əks intensivliyi | İşığın uçuş vaxtı |
| Məsafə | 0–10 sm | 0–400 sm |
| Dəqiqlik | 0.5 sm | 0.1 sm |
| Dəyər | $0.10–0.30 | $1–3 |
| Tətbiq | Zəngdə ekran | Avtofokus, AR |
Android yaxınlıq sensoruna Sensor.TYPE_PROXIMITY vasitəsilə çıxış təmin edir. API-nin xüsusiyyəti ondan ibarətdir ki, sensor yalnız iki praktiki əhəmiyyətli dəyər qaytarır: 0 (obyekt yaxın) və maksimum məsafə dəyəri (adətən 5–10 sm) obyekt olmadıqda. Daxili alqoritmlər siqnalın analoq təbiətini gizlədir.
Sensorun binar təbiəti o deməkdir ki, tətbiq obyektə qədər dəqiq məsafəni əldə edə bilməz — yalnız həssaslıq zonasında maneənin olub-olmaması faktını. Bu, aparat məhdudiyyətidir. Daha dəqiq ölçümələr üçün ToF sensorundan (mövcuddursa) standart TYPE_PROXIMITY API vasitəsilə istifadə edin, lakin ToF olan cihazlarda o, analoq dəyərlər qaytarır.
val proximitySensor = sensorManager
.getDefaultSensor(Sensor.TYPE_PROXIMITY)
sensorManager.registerListener(
object : SensorEventListener {
override fun onSensorChanged(event: SensorEvent) {
val distance = event.values[0]
val maxRange = proximitySensor?.maximumRange ?: 10f
when {
distance < maxRange -> lockScreen()
else -> unlockScreen()
}
}
override fun onAccuracyChanged(
sensor: Sensor, accuracy: Int
) {}
},
proximitySensor,
SensorManager.SENSOR_DELAY_UI
)
Yaxınlıq sensorunu qeydiyyatdan keçirərkən, tətbiq söndürülmüş ekranla işləməli olduqda (məsələn, danışıq yazısı) SCREEN_OFF_WAKE_LOCK istifadə etmək vacibdir. Wake Lock olmadan CPU yuxu rejiminə keçə bilər və sensor məlumatları gəlməyi dayandırar. SENSOR_DELAY_UI (200 ms) bayrağı əksər ssenarilər üçün kifayətdir.
Sensorun əsas funksiyası zəng zamanı ekranı söndürmək olsa da, proqramçılar daha yaradıcı tətbiqlər tapırlar. Glimmer tətbiqi mahnıları dəyişmək üçün yaxınlıq sensorundan istifadə edir — əlinizi ekran qarşısında hərəkət etdirərək mahnını keçin. Batareyanın doldurulması buna görə əziyyət çəkmir: sensorun enerji sərfiyyatı cəmi 0.3–0.7 mA təşkil edir.
Yaxınlıq sensorlarının əsas problemi qoruyucu şuşələr və örtüklər istifadə edərkən yalanış işləmələrdir. Bəzi istehsalçılar (Google Pixel 8, 2023) IR əvəzinə ultrasəs yaxınlıq sensorundan istifadə edir — o, istənilən qoruyucu şuşələr və istənilən qalınlıqdakı ekranlar vasitəsilə işləyir, lakin daha az dəqiqlik və daha böyük gecikməyə (100 ms-dək) malikdir. Qalın şuşə (0.5 mm-dən çox) IR şüalanmasını yayaraq daimi işləməyə səbəb olur. Həll — sensor üçün dəqiq kəsikli örtüklərdən istifadə etməkdir. İkinci çatışmazlıq — dəyişən şeffaflığa malik OLED ekranlar (under-display sensor) vasitəsilə işləyə bilməməsidir.
2024–2025-ci illərdə istehsalçılar ekran altı yaxınlıq sensorlarını (under-display) tətbiq etməyə başladılar, bu da smartfonun yuxarı çərçivəsini 1–2 mm-ə qədər azaltmağa imkan verdi. Under-display proximity olan ilk seriyalı cihaz Xiaomi 14 Ultra (2024) oldu, ardınca OnePlus 12 və Samsung Galaxy S25 gəldi. Texnologiya, qismən OLED ekranın piksellərindən keçən 940 nm dalğa uzunluğunda IR şüalanmasından istifadə edir. Samsung Display Technical Paper (2024)-yə görə, OLED-in IR şüalanması üçün şeffaflığı 15–25% təşkil edir — bu, ekran parlaqlığı 600 cd/m²-yə qədər olduqda sensorun işləməsi üçün kifayətdir. Daha yüksək parlaqlıqda matrisa IR üçün qeyri-şeffaf olur və sensor ölçü üçün 1–2 çərçivə üçün arxa işığın söndürülməsini tələb edir.
Android-də tətbiqlər hazırlayarkən emulyator yaxınlıq sensorunu dəstəkləmir — onu proqram vasitəsilə emulyasiya etmək lazımdır. Fiziki cihazda sazlamalar üçün adb əmrindən istifadə edə bilərsiniz: adb shell sendevent /dev/input/eventX müvafiq ABS_MT_TOUCH_MAJOR kodları ilə. Testlərdə zəng zamanı ekranın söndürülməsini simulyasiya etmək üçün onSensorChanged çağırışında 0 dəyərini qaytaran mock obyekti ilə SensorManager-dən istifadə edin.
Android cihazında yaxınlıq sensorunu yoxlamaq üçün Telefon tətbiqini açın, *#0*# yığın (Samsung-da) və Sensor bəndini seçin. Barmağınızı ekranın yuxarı hissəsinə yaxınlaşdırdıqda sensorun dəyəri «Far»-dan «Near»-ə dəyişməlidir. Sensor reaksiya vermirsə — ekranın yuxarı hissəsini silin və sensoru örtən qoruyucu şuşənin olub-olmadığını yoxlayın. iPhone-da yoxlama sistem diaqnostikası vasitəsilə parametrlərdə aparılır.
Tez-tez verilən suallar
Əksər hallarda problem qoruyucu şuşə və ya örtük ilə bağlıdır, onlar yaxınlıq sensorunu örtür. Danışıq dinamikinin yanındakı sahənin bloklanmadığından əmin olun. Problem çılpaq telefonda olarsa — aparat qüsuru və ya sensorun çirklənməsi mümkündür.
Sensor ön panelin yuxarı hissəsində, danışıq dinamikinin yanında yerləşir. Müasir smartfonlarda ekranın şuşəsi altında gizlədilir. Onu görmək üçün bucaq altında parlaq fenerlə işıq salın — kiçik bir nöqtə və ya yarıq kimi görünür.
Android-in standart vasitələri ilə — yox. Lakin mühəndislik menyusu vasitəsilə (Samsung-da *#0*# yığın) test etmək üçün girişi olan tətbiqlər mövcuddur. Bəzi cihazlarda həssaslığı xidmət rejimi vasitəsilə tənzimləmək olar.
Standart yaxınlıq sensoru API-si yalnız aşkarlama faktını qaytarır — 0 və ya maxRange. Dəqiq məsafə əldə etmək üçün Time-of-Flight sensorundan (cihazda varsa) istifadə edin — uyğun cihazlarda eyni TYPE_PROXIMITY vasitəsilə çatışılır.
Şuşənin qalınlığı və materialından asılıdır. Nazik çevik şuşələr (0.15–0.2 mm) işə təsir etmir. Qalın bərkidilmiş şuşələr (0.5+ mm) IR şüalanmasını yaya bilər və yalanış işləməyə səbəb ola bilər. Sensor ətrafında dəqiq kəsik və ya qara çərçivəsi olan şuşələr tövsiyə olunur.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun