Ο αισθητήρας εγγύτητας είναι ένας υπέρυθρος αισθητήρας που ανιχνεύει την παρουσία ενός αντικειμένου μπροστά από την οθόνη του smartphone χωρίς φυσική επαφή. Η κύρια λειτουργία του είναι η απενεργοποίηση της οθόνης κατά τη διάρκεια μιας τηλεφωνικής κλήσης για την αποφυγή τυχαίων αγγιγμάτων από το μάγουλο και την εξοικονόμηση μπαταρίας. Σύμφωνα με τον Google Android Developer Guide, 2024, οι σύγχρονοι αισθητήρες εγγύτητας μετρούν απόσταση από 0 έως 10 cm με ακρίβεια 0.5 cm και χρόνο απόκρισης μικρότερο από 50 ms.
Κύρια Σημεία
Ο αισθητήρας εγγύτητας (proximity sensor) είναι ένας υπέρυθρος αισθητήρας χωρίς επαφή που βρίσκεται στο επάνω μέρος του μπροστινού πάνελ του smartphone, δίπλα στο ηχείο συνομιλίας. Αποτελείται από μια υπέρυθρη LED (IR LED) και έναν φωτοανιχνευτή (φωτοδίοδο ή φωτοτρανζίστορ). Το πρώτο μαζικό smartphone με αισθητήρα εγγύτητας ήταν το Apple iPhone (2007) — από τότε ο αισθητήρας έγινε υποχρεωτικό εξάρτημα όλων των σύγχρονων τηλεφώνων.
Ο αισθητήρας είναι συνήθως κρυμμένος κάτω από το γυαλί της οθόνης και είναι ορατός μόνο υπό συγκεκριμένη γωνία ως μικρή κουκκίδα. Στα σύγχρονα μοντέλα χρησιμοποιείται οπτική μονάδα με στενό διάγραμμα κατευθυντικότητας (15–30 μοίρες) για να αποκλειστούν ψευδείς ενδείξεις από αντανακλάσεις στο γυαλί. Κατασκευαστές — Sharp, ams OSRAM (σειρά TMD), Silicon Labs και οι συμβεβλημένοι συνεργάτες τους.
| Παράμετρος | Τιμή |
|---|---|
| Μήκος κύματος | 850–940 nm (αόρατη υπέρυθρη περιοχή) |
| Εμβέλεια | 0–10 cm |
| Ανάλυση | 0.5 cm |
| Κατανάλωση | 0.3–0.7 mA |
| Χρόνος απόκρισης | 10–50 ms |
Στις κινητές συσκευές χρησιμοποιούνται διακριτοί αισθητήρες (ξεχωριστό τσιπ IR LED + φωτοδίοδος) και ενσωματωμένες μονάδες (και τα δύο στοιχεία σε ένα τσιπ). Οι ενσωματωμένες λύσεις (ams TMD2635, διαστάσεις 1×1×0.5 mm) χρησιμοποιούνται σε εξαιρετικά λεπτά περιβλήματα σύγχρονων ναυαρχίδων και καταλαμβάνουν ελάχιστο χώρο στην πλακέτα.
Η αρχή λειτουργίας του αισθητήρα εγγύτητας βασίζεται στη μέτρηση της έντασης της ανακλώμενης υπέρυθρης ακτινοβολίας. Η υπέρυθρη LED εκπέμπει έναν παλμό φωτός (850–940 nm) και η φωτοδίοδος μετρά την ποσότητα του φωτός που ανακλάται από το αντικείμενο. Εάν το ανακλώμενο σήμα υπερβεί το κατώφλι — το αντικείμενο θεωρείται κοντινό (λιγότερο από 3–5 cm).
Το κύριο τεχνικό πρόβλημα είναι το ηλιακό φως και οι παρεμβολές από άλλες υπέρυθρες πηγές. Η λύση — διαμόρφωση της ακτινοβολίας: η IR LED εκπέμπει παλμούς με συχνότητα 10–100 kHz και ο φωτοανιχνευτής ανιχνεύει συγχρονισμένα το σήμα, φιλτράροντας τη σταθερή συνιστώσα. Σύμφωνα με το ams Application Note AN000610 (2024), το κύκλωμα σύγχρονης ανίχνευσης καταστέλλει το φως υποβάθρου κατά 40–60 dB.
Το κατώφλι ενεργοποίησης ορίζεται από τον κατασκευαστή στο στάδιο της βαθμονόμησης και εξαρτάται από τη διαφάνεια του γυαλιού της οθόνης. Τυπικό κατώφλι — η ανάκλαση αντιστοιχεί σε απόσταση 2–4 cm. Όταν το δάχτυλο ή το αυτί βρίσκεται σε απόσταση μικρότερη από το κατώφλι, ο αισθητήρας επιστρέφει τιμή 0 (κοντά), διαφορετικά — τη μέγιστη τιμή εμβέλειας (8–10 cm ανάλογα με το μοντέλο).
Ο αισθητήρας εγγύτητας (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 |
|---|---|---|
| Αρχή | Ένταση ανάκλασης | Χρόνος πτήσης φωτός |
| Εμβέλεια | 0–10 cm | 0–400 cm |
| Ακρίβεια | 0.5 cm | 0.1 cm |
| Κόστος | $0.10–0.30 | $1–3 |
| Εφαρμογή | Οθόνη σε κλήση | Αυτόματη εστίαση, AR |
Το Android παρέχει πρόσβαση στον αισθητήρα εγγύτητας μέσω Sensor.TYPE_PROXIMITY. Χαρακτηριστικό του API είναι ότι ο αισθητήρας επιστρέφει μόνο δύο πρακτικά σημαντικές τιμές: 0 (αντικείμενο κοντά) και την τιμή μέγιστης εμβέλειας (συνήθως 5–10 cm) όταν δεν υπάρχει αντικείμενο. Οι εσωτερικοί αλγόριθμοι κρύβουν την αναλογική φύση του σήματος.
Η δυαδική φύση του αισθητήρα σημαίνει ότι η εφαρμογή δεν μπορεί να λάβει την ακριβή απόσταση από το αντικείμενο — μόνο το γεγονός παρουσίας ή απουσίας εμποδίου στη ζώνη ευαισθησίας. Αυτός είναι ένας περιορισμός υλικού. Για ακριβέστερες μετρήσεις, χρησιμοποιήστε τον αισθητήρα 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 ms) είναι επαρκής για τα περισσότερα σενάρια.
Αν και η κύρια λειτουργία του αισθητήρα είναι η απενεργοποίηση της οθόνης κατά τη διάρκεια κλήσης, οι προγραμματιστές βρίσκουν πιο δημιουργικές εφαρμογές. Η εφαρμογή Glimmer χρησιμοποιεί τον αισθητήρα εγγύτητας για εναλλαγή τραγουδιών με κίνηση του χεριού μπροστά από την οθόνη — μετακινήστε την παλάμη σας για να παραλείψετε ένα τραγούδι. Η φόρτιση της μπαταρίας δεν επηρεάζεται: η κατανάλωση ενέργειας του αισθητήρα είναι μόνο 0.3–0.7 mA.
Το κύριο πρόβλημα των αισθητήρων εγγύτητας είναι οι ψευδείς ενδείξεις κατά τη χρήση προστατευτικών γυαλιών και θυρών. Ορισμένοι κατασκευαστές (Google Pixel 8, 2023) χρησιμοποιούν υπερηχητικό αισθητήρα εγγύτητας αντί για IR — λειτουργεί μέσα από οποιαδήποτε προστατευτικά γυαλιά και οθόνες οποιουδήποτε πάχους, αλλά έχει μικρότερη ακρίβεια και μεγαλύτερη καθυστέρηση (έως 100 ms). Το παχύ γυαλί (πάνω από 0.5 mm) διαχέει την υπέρυθρη ακτινοβολία, προκαλώντας συνεχή ενεργοποίηση. Λύση — χρήση θυρών με ακριβή εγκοπή για τον αισθητήρα. Δεύτερο μειονέκτημα — αδυναμία λειτουργίας μέσω οθονών OLED με μεταβλητή διαφάνεια (under-display sensor).
Το 2024–2025, οι κατασκευαστές άρχισαν να εφαρμόζουν αισθητήρες εγγύτητας κάτω από την οθόνη (under-display), γεγονός που επέτρεψε τη μείωση του άνω περιγράμματος του smartphone σε 1–2 mm. Η πρώτη συσκευή μαζικής παραγωγής με under-display proximity ήταν το Xiaomi 14 Ultra (2024), ακολουθούμενο από τα OnePlus 12 και Samsung Galaxy S25. Η τεχνολογία χρησιμοποιεί υπέρυθρη ακτινοβολία μήκους κύματος 940 nm που διέρχεται εν μέρει μέσω των pixel της οθόνης OLED. Σύμφωνα με το Samsung Display Technical Paper (2024), η διαφάνεια OLED για την υπέρυθρη ακτινοβολία είναι 15–25% — αρκετή για τη λειτουργία του αισθητήρα σε φωτεινότητα οθόνης έως 600 cd/m². Σε υψηλότερη φωτεινότητα, η μήτρα γίνεται αδιαφανής για το IR και ο αισθητήρας απαιτεί απενεργοποίηση του οπίσθιου φωτισμού για 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, ο έλεγχος πραγματοποιείται μέσω διαγνωστικών συστήματος στις ρυθμίσεις.
Συχνές Ερωτήσεις
Συχνότερα το πρόβλημα είναι το προστατευτικό γυαλί ή η θήκη που καλύπτουν τον αισθητήρα εγγύτητας. Βεβαιωθείτε ότι η περιοχή δίπλα στο ηχείο συνομιλίας δεν είναι μπλοκαρισμένη. Εάν το πρόβλημα παρουσιάζεται σε γυμνό τηλέφωνο — είναι πιθανό ελάττωμα υλικού ή βρωμιά στον αισθητήρα.
Ο αισθητήρας βρίσκεται στο επάνω μέρος του μπροστινού πάνελ, δίπλα στο ηχείο συνομιλίας. Στα σύγχρονα smartphones είναι κρυμμένος κάτω από το γυαλί της οθόνης. Μπορεί να φανεί φωτίζοντας με έναν φακό υπό γωνία — εμφανίζεται ως μικρή κουκκίδα ή σχισμή.
Με τα τυπικά εργαλεία Android — όχι. Ωστόσο, υπάρχουν εφαρμογές με πρόσβαση μέσω του μενού μηχανικού (καλέστε *#0*# σε Samsung) για δοκιμή. Σε ορισμένες συσκευές, η ευαισθησία μπορεί να ρυθμιστεί μέσω λειτουργίας σέρβις.
Το τυπικό API του αισθητήρα εγγύτητας επιστρέφει μόνο το γεγονός ανίχνευσης — 0 ή maxRange. Για να λάβετε ακριβή απόσταση, χρησιμοποιήστε τον αισθητήρα Time-of-Flight (εάν η συσκευή είναι εξοπλισμένη) — προσβάσιμο μέσω του ίδιου TYPE_PROXIMITY σε συμβατές συσκευές.
Εξαρτάται από το πάχος και το υλικό του γυαλιού. Τα λεπτά εύκαμπτα γυαλιά (0.15–0.2 mm) δεν επηρεάζουν τη λειτουργία. Τα παχιά σκληρυμένα γυαλιά (0.5+ mm) μπορεί να διαχέουν την υπέρυθρη ακτινοβολία και να προκαλούν ψευδή ενεργοποίηση. Συνιστώνται γυαλιά με ακριβή εγκοπή ή μαύρο πλαίσιο γύρω από τον αισθητήρα.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης