Yakınlık sensörü, fiziksel temas olmadan akıllı telefon ekranının önündeki bir nesnenin varlığını algılayan bir kızılötesi sensördür. Ana işlevi, telefon görüşmesi sırasında yanakla yanlışlıkla dokunmaları önlemek ve pil tasarrufu için ekranı kapatmaktır. Google Android Developer Guide, 2024'e göre, modern yakınlık sensörleri 0 ila 10 cm arasındaki mesafeleri 0,5 cm doğrulukla ölçer ve yanıt süresi 50 ms'den azdır.
Önemli noktalar
Yakınlık sensörü, akıllı telefonun ön panelinin üst kısmında, kulaklık hoparlörünün yanında bulunan temassız bir kızılötesi sensördür. Bir kızılötesi LED (IR LED) ve bir fotodetektörden (fotodiyot veya fototransistör) oluşur. Yakınlık sensörüne sahip ilk seri üretim akıllı telefon Apple iPhone (2007) idi — o zamandan beri sensör, tüm modern telefonlarda zorunlu bir bileşen haline geldi.
Sensör genellikle ekran camının altında gizlidir ve yalnızca belirli bir açıdan küçük bir nokta olarak görünür. Modern modeller, cam yansımalarından kaynaklanan yanlış tetiklemeleri önlemek için dar bir ışın açısına (15–30 derece) sahip optik bir modül kullanır. Üreticiler arasında Sharp, ams OSRAM (TMD serisi), Silicon Labs ve sözleşmeli ortakları bulunur.
| Parametre | Değer |
|---|---|
| Dalga boyu | 850–940 nm (görünmez IR aralığı) |
| Menzil | 0–10 cm |
| Çözünürlük | 0,5 cm |
| Güç tüketimi | 0,3–0,7 mA |
| Yanıt süresi | 10–50 ms |
Mobil cihazlarda ayrık sensörler (IR LED + fotodiyotlu ayrı çip) ve entegre modüller (tek çipte her iki öğe) kullanılır. Entegre çözümler (ams TMD2635, boyut 1×1×0,5 mm), modern amiral gemilerinin ultra ince gövdelerinde kullanılır ve kartta minimum yer kaplar.
Yakınlık sensörünün çalışma prensibi, yansıyan IR radyasyonunun yoğunluğunun ölçülmesine dayanır. Kızılötesi LED bir ışık darbesi (850–940 nm) yayar ve fotodiyot bir nesneden yansıyan ışık miktarını ölçer. Yansıyan sinyal bir eşiği aşarsa, nesne yakın (3–5 cm'den az) olarak kabul edilir.
Ana teknik zorluk, güneş ışığı girişimi ve diğer IR kaynaklarından gelen gürültüdür. Çözüm, emisyon modülasyonudur: IR LED, 10–100 kHz'de darbeler yayar ve fotodetektör, DC bileşenini filtreleyerek sinyali senkronize olarak algılar. ams Application Note AN000610 (2024)'e göre, senkronize algılama, ortam aydınlatmasını 40–60 dB bastırır.
Tetikleme eşiği, üretici tarafından kalibrasyon sırasında ayarlanır ve ekran camının şeffaflığına bağlıdır. Tipik bir eşik, 2–4 cm'lik bir yansıma mesafesine karşılık gelir. Bir parmak veya kulak eşikten daha yakına yerleştirildiğinde, sensör 0 (yakın) çıkışı verir; aksi takdirde, maksimum menzil değerini (modele bağlı olarak 8–10 cm) döndürür.
IR yakınlık sensörü yansıma yoğunluğunu ölçer — iki durumlu ikili bir sensör. Uçuş süresi (ToF), ışığın bir nesneye gidip gelmesi için geçen süreyi ölçer ve birkaç metreye kadar hassas mesafe ölçümüne olanak tanır. Mobil cihazlarda, ToF sensörleri (STMicroelectronics'ten VL53L5) kamera otofokusu ve AR uygulamaları için kullanılır.
Görüşme sırasında ekranı kapatma görevi için basit bir ikili IR sensör yeterlidir — maliyeti, bir ToF modülünün $1–$3'ine karşı $0,10–$0,30'dur. ToF sensörü hassas mesafe ölçümü ekler ancak temel görev için aşırıdır. Bazı amiral gemileri (Samsung Galaxy S23 Ultra), her iki teknolojiyi de entegre eden birleşik modüller kullanır.
| Parametre | IR Yakınlık | ToF Sensörü |
|---|---|---|
| Prensip | Yansıma yoğunluğu | İşığın uçuş süresi |
| Menzil | 0–10 cm | 0–400 cm |
| Doğruluk | 0,5 cm | 0,1 cm |
| Maliyet | $0,10–$0,30 | $1–$3 |
| Uygulama | Görüşmelerde ekran | Otofokus, AR |
Android, Sensor.TYPE_PROXIMITY aracılığıyla yakınlık sensörüne erişim sağlar. API'nin temel bir özelliği, sensörün yalnızca iki pratik olarak anlamlı değer döndürmesidir: 0 (nesne yakın) ve hiçbir nesne olmadığında maksimum menzil değeri (genellikle 5–10 cm). Dahili algoritmalar, sinyalin analog doğasını gizler.
Sensörün ikili doğası, uygulamanın bir nesneye olan tam mesafeyi alamayacağı anlamına gelir — yalnızca algılama bölgesinde bir engel olup olmadığını öğrenebilir. Bu bir donanım sınırlamasıdır. Daha hassas ölçümler için, standart TYPE_PROXIMITY API'si aracılığıyla bir ToF sensörü (varsa) kullanın, ancak ToF'lu cihazlarda analog değerler döndürü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
)
Yakınlık sensörünü kaydederken, uygulamanın ekran kapalıyken çalışmaya devam etmesi gerekiyorsa (örneğin, görüşme kaydı) SCREEN_OFF_WAKE_LOCK kullanmak önemlidir. Wake Lock olmadan, CPU uyku moduna geçebilir ve sensör verisi almayı durdurabilir. SENSOR_DELAY_UI bayrağı (200 ms) çoğu senaryo için yeterlidir.
Sensörün temel işlevi görüşmeler sırasında ekranı kapatmak olsa da, geliştiriciler daha yaratıcı kullanımlar buluyor. Glimmer uygulaması, ekran önünde el hareketiyle parçaları atlamak için yakınlık sensörünü kullanır — bir şarkıyı atlamak için avucunuzu kaydırın. Pil etkilenmez: sensör yalnızca 0,3–0,7 mA tüketir.
Yakınlık sensörlerinin ana sorunu, ekran koruyucuları ve kılıflar kullanılırken yanlış tetiklemelerdir. Bazı üreticiler (Google Pixel 8, 2023) IR yerine ultrasonik bir yakınlık sensörü kullanır — herhangi bir ekran koruyucu ve herhangi bir kalınlıktaki ekran boyunca çalışır, ancak daha düşük doğruluğa ve daha yüksek gecikmeye (100 ms'ye kadar) sahiptir. Kalın cam (0,5 mm'den fazla) IR radyasyonunu dağıtarak sürekli tetiklemeye neden olur. Çözüm, sensör için hassas kesikli kılıflar kullanmaktır. İkinci bir dezavantaj, değişken şeffaflığa sahip OLED ekranlar (ekran altı sensör) aracılığıyla çalışamamasıdır.
2024–2025 yıllarında üreticiler, üst çerçeveyi 1–2 mm'ye indiren ekran altı yakınlık sensörlerini uygulamaya başladı. Ekran altı yakınlık sensörüne sahip ilk seri üretim cihaz, Xiaomi 14 Ultra (2024) oldu, ardından OnePlus 12 ve Samsung Galaxy S25 geldi. Teknoloji, OLED piksellerden kısmen geçen 940 nm'de IR radyasyonu kullanır. Samsung Display Technical Paper (2024)'e göre, IR radyasyonu için OLED şeffaflığı %15–25'tir — bu, 600 cd/m²'ye kadar ekran parlaklığında sensörün çalışması için yeterlidir. Daha yüksek parlaklıkta, matris IR'ye karşı opak hale gelir ve sensörün ölçüm için 1–2 kare boyunca arka ışığı kapatması gerekir.
Android uygulamaları geliştirirken, öykünücü yakınlık sensörünü desteklemez — yazılımla öykünülmesi gerekir. Fiziksel bir cihazda, uygun ABS_MT_TOUCH_MAJOR kodlarıyla adb komutunu kullanabilirsiniz: adb shell sendevent /dev/input/eventX. Testlerde görüşme sırasında ekran kapanmasını simüle etmek için, onSensorChanged çağrıldığında 0 döndüren bir mock nesnesiyle SensorManager kullanın.
Bir Android cihazda yakınlık sensörünü test etmek için Telefon uygulamasını açın, *#0*# (Samsung'da) tuşlayın ve Sensor'ü seçin. Parmağınızı ekranın üst kısmına yaklaştırdığınızda, sensör değeri “Far”'dan “Near”'a değişmelidir. Sensör yanıt vermezse, ekranın üst kısmını temizleyin ve sensörü kapatan bir ekran koruyucu olup olmadığını kontrol edin. iPhone'da test, Ayarlar'daki sistem teşhisi aracılığıyla yapılır.
Sıkça sorulan sorular
En yaygın neden, yakınlık sensörünü kapatan bir ekran koruyucu veya kılıftır. Kulaklık hoparlörünün yanındaki alanın engellenmediğinden emin olun. Sorun koruyucusuz bir telefonda ortaya çıkıyorsa, donanım arızası veya sensör kirliliği olabilir.
Sensör, ön panelin üst kısmında, kulaklık hoparlörünün yanında bulunur. Modern akıllı telefonlarda ekran camının altında gizlidir. Parlak bir el fenerini açılı tutarak görebilirsiniz — küçük bir nokta veya yarık gibi görünür.
Standart Android araçlarıyla — hayır. Ancak, test için mühendislik menüsüne (Samsung'da *#0*# tuşlayın) erişen uygulamalar vardır. Bazı cihazlarda hassasiyet, servis modu aracılığıyla ayarlanabilir.
Standart yakınlık sensörü API'si yalnızca bir algılama bayrağı döndürür — 0 veya maxRange. Tam mesafe için, bir Time-of-Flight sensörü (cihazda varsa) kullanın — uyumlu cihazlarda aynı TYPE_PROXIMITY aracılığıyla kullanılabilir.
Kalınlık ve malzemeye bağlıdır. İnce esnek koruyucular (0,15–0,2 mm) çalışmayı etkilemez. Kalın temperli cam (0,5+ mm) IR radyasyonunu dağıtabilir ve yanlış tetiklemeye neden olabilir. Sensörün etrafında hassas kesik veya siyah çerçeveli koruyucular önerilir.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun