Датчик наближення — це інфрачервоний сенсор, який визначає наявність об'єкта перед екраном смартфона без фізичного контакту. Основна функція — вимкнення дисплея під час телефонної розмови для запобігання випадковим натисканням щокою та економії заряду батареї. Згідно з Google Android Developer Guide, 2024, сучасні датчики наближення вимірюють відстань від 0 до 10 см з точністю 0.5 см і часом відгуку менше 50 мс.
Головне
Датчик наближення (proximity sensor) — це безконтактний інфрачервоний сенсор, розташований у верхній частині лицьової панелі смартфона, поруч із розмовним динаміком. Він складається з інфрачервоного світлодіода (IR LED) і фотодетектора (фотодіода або фототранзистора). Першим масовим смартфоном з датчиком наближення став Apple iPhone (2007) — з тих пір сенсор став обов'язковим компонентом всіх сучасних телефонів.
Датчик зазвичай прихований під склом дисплея і видимий лише під певним кутом як невелика точка. У сучасних моделях використовується оптичний модуль з вузькою діаграмою спрямованості (15–30 градусів), щоб виключити хибні спрацьовування від відбиттів у склі. Виробники — Sharp, ams OSRAM (серія TMD), Silicon Labs та їхні контрактні партнери.
| Параметр | Значення |
|---|---|
| Довжина хвилі | 850–940 нм (невидимий ІЧ-діапазон) |
| Дальність | 0–10 см |
| Роздільна здатність | 0.5 см |
| Споживання | 0.3–0.7 мА |
| Час відгуку | 10–50 мс |
У мобільних пристроях використовуються дискретні датчики (окремий чіп IR LED + фотодіод) та інтегровані модулі (обидва елементи на одному чіпі). Інтегровані рішення (ams TMD2635, розмір 1×1×0.5 мм) використовуються в ультратонких корпусах сучасних флагманів і займають мінімум місця на платі.
Принцип дії датчика наближення заснований на вимірюванні інтенсивності відбитого ІЧ-випромінювання. Інфрачервоний світлодіод випромінює імпульс світла (850–940 нм), а фотодіод вимірює кількість відбитого від об'єкта світла. Якщо відбитий сигнал перевищує поріг — об'єкт вважається близьким (менше 3–5 см).
Головна технічна проблема — сонячна засвітка та перешкоди від інших ІЧ-джерел. Рішення — модуляція випромінювання: IR LED випромінює імпульси з частотою 10–100 кГц, а фотоприймач синхронно детектує сигнал, відфільтровуючи постійну складову. За даними ams Application Note AN000610 (2024), схема синхронного детектування пригнічує фонову засвітку на 40–60 дБ.
Поріг спрацьовування налаштовується виробником на етапі калібрування і залежить від прозорості скла дисплея. Типовий поріг — відбиття відповідає відстані 2–4 см. При розташуванні пальця або вуха на відстані менше порогу датчик видає значення 0 (близько), інакше — максимальне значення діапазону (8–10 см залежно від моделі).
Датчик наближення (IR proximity) вимірює інтенсивність відбиття — бінарний сенсор з двома станами. Time-of-Flight (ToF) вимірює час проходження світла до об'єкта і назад, що дозволяє точно визначати відстань до кількох метрів. У мобільних пристроях ToF-сенсори (VL53L5 від STMicroelectronics) використовуються для автофокусу камери та AR-додатків.
Для задачі вимкнення екрана під час дзвінка достатньо простого бінарного IR-датчика — його вартість 0.10–0.30 долара проти 1–3 доларів за ToF-модуль. ToF-сенсор додає точну далекомірну функцію, але надлишковий для базової задачі. У деяких флагманах (Samsung Galaxy S23 Ultra) використовуються комбіновані модулі, що поєднують обидві технології.
| Параметр | IR Proximity | ToF Sensor |
|---|---|---|
| Принцип | Інтенсивність відбиття | Час прольоту світла |
| Дальність | 0–10 см | 0–400 см |
| Точність | 0.5 см | 0.1 см |
| Вартість | $0.10–0.30 | $1–3 |
| Застосування | Екран при дзвінку | Автофокус, AR |
Android надає доступ до датчика наближення через Sensor.TYPE_PROXIMITY. Особливість API — сенсор повертає лише два практично значущі значення: 0 (об'єкт поряд) і значення максимальної дальності (зазвичай 5–10 см) при відсутності об'єкта. Внутрішні алгоритми приховують аналогову природу сигналу.
Бінарна природа датчика означає, що додаток не може отримати точну відстань до об'єкта — лише факт наявності або відсутності перешкоди в зоні чутливості. Це обмеження апаратне. Для більш точних вимірювань використовуйте ToF-сенсор (якщо він доступний) через стандартний API TYPE_PROXIMITY, але на пристроях з ToF він повертає аналогові значення.
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
)
При реєстрації датчика наближення важливо використовувати SCREEN_OFF_WAKE_LOCK, якщо додаток повинен продовжувати роботу при вимкненому екрані (наприклад, запис розмови). Без Wake Lock CPU може перейти в сплячий режим, і дані сенсора перестануть надходити. Флаг SENSOR_DELAY_UI (200 мс) достатньо для більшості сценаріїв.
Хоча основна функція датчика — вимкнення екрана під час дзвінка, розробники знаходять більш креативні застосування. Додаток Glimmer використовує датчик наближення для перемикання треків рухом руки перед екраном — проведіть долонею, щоб пропустити пісню. Заряд батареї при цьому не страждає: енергоспоживання датчика становить всього 0.3–0.7 мА.
Основна проблема датчиків наближення — хибні спрацьовування при використанні захисних скелець та чохлів. Деякі виробники (Google Pixel 8, 2023) використовують ультразвуковий датчик наближення замість ІЧ — він працює через будь-які захисні скельця та дисплеї будь-якої товщини, але має меншу точність і більшу затримку (до 100 мс). Товсте скло (більше 0.5 мм) розсіює ІЧ-випромінювання, викликаючи постійне спрацьовування. Рішення — використовувати чохли з точним вирізом під датчик. Другий недолік — неможливість роботи через дисплеї OLED зі змінною прозорістю (under-display sensor).
У 2024–2025 роках виробники почали впроваджувати датчики наближення під дисплеєм (under-display), що дозволило зменшити верхню рамку смартфона до 1–2 мм. Першим серійним пристроєм з under-display proximity став Xiaomi 14 Ultra (2024), за ним послідували OnePlus 12 та Samsung Galaxy S25. Технологія використовує ІЧ-випромінювання з довжиною хвилі 940 нм, яке частково проходить через пікселі OLED-дисплея. За даними Samsung Display Technical Paper (2024), прозорість OLED для ІЧ-випромінювання становить 15–25% — цього достатньо для роботи датчика при яскравості екрана до 600 кд/м². При більш високій яскравості матриця стає непрозорою для ІЧ, і датчик потребує вимкнення підсвічування на 1–2 кадри для вимірювання.
При розробці додатків на Android емулятор не підтримує датчик наближення — його необхідно емулювати програмно. На фізичному пристрої для налагодження можна використовувати adb-команду: adb shell sendevent /dev/input/eventX з відповідними кодами ABS_MT_TOUCH_MAJOR. Для симуляції вимкнення екрана при дзвінку в тестах використовуйте SensorManager з mock-об'єктом, що повертає значення 0 при виклику onSensorChanged.
Для перевірки датчика наближення на пристрої Android відкрийте додаток «Телефон», наберіть *#0*# (на Samsung) і виберіть пункт Sensor. При піднесенні пальця до верхньої частини екрана значення датчика має змінитися з «Far» на «Near». Якщо датчик не реагує — протріть верхню частину екрана та перевірте наявність захисного скла, що перекриває сенсор. На iPhone перевірка виконується через системну діагностику в налаштуваннях.
Поширені запитання
Найчастіше проблема в захисному склі або чохлі, які перекривають датчик наближення. Переконайтеся, що область поруч із розмовним динаміком не заблокована. Якщо проблема на голому телефоні — можливий апаратний дефект або забруднення сенсора.
Датчик розташований у верхній частині лицьової панелі, поруч із розмовним динаміком. У сучасних смартфонах він прихований під склом дисплея. Побачити його можна, посвітивши яскравим ліхтариком під кутом — він виглядає як невелика точка або щілина.
Стандартними засобами Android — ні. Однак існують додатки з доступом через інженерне меню (наберіть *#0*# на Samsung) для тестування. На деяких пристроях можна відрегулювати чутливість через сервісний режим.
Стандартний API датчика наближення повертає лише факт виявлення — 0 або maxRange. Для отримання точної відстані використовуйте Time-of-Flight сенсор (якщо пристрій оснащено) — доступний через той самий TYPE_PROXIMITY на сумісних пристроях.
Залежить від товщини та матеріалу скла. Тонкі гнучкі скельця (0.15–0.2 мм) не впливають на роботу. Товсті загартовані (0.5+ мм) можуть розсіювати ІЧ-випромінювання та викликати хибне спрацьовування. Рекомендуються скельця з точним вирізом або чорною рамкою навколо датчика.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також