เซ็นเซอร์ตรวจจับความใกล้คือเซ็นเซอร์อินฟราเรดที่ตรวจจับการมีอยู่ของวัตถุด้านหน้าจอสมาร์ทโฟนโดยไม่ต้องสัมผัสทางกายภาพ หน้าที่หลักคือปิดหน้าจอระหว่างการสนทนาทางโทรศัพท์เพื่อป้องกันการสัมผัสโดยไม่ตั้งใจจากแก้มและประหยัดแบตเตอรี่ ตาม Google Android Developer Guide, 2024 เซ็นเซอร์ตรวจจับความใกล้สมัยใหม่วัดระยะทางจาก 0 ถึง 10 ซม. ด้วย ความแม่นยำ 0.5 ซม. และเวลาตอบสนองน้อยกว่า 50 มิลลิวินาที
ประเด็นสำคัญ
เซ็นเซอร์ตรวจจับความใกล้ เป็นเซ็นเซอร์อินฟราเรดแบบไม่สัมผัสที่อยู่ด้านบนของแผงด้านหน้าของสมาร์ทโฟน ถัดจากลำโพงสนทนา ประกอบด้วย LED อินฟราเรด (IR LED) และเครื่องตรวจจับแสง (โฟโตไดโอดหรือโฟโตทรานซิสเตอร์) สมาร์ทโฟนรุ่นแรกที่ผลิตจำนวนมากที่มีเซ็นเซอร์ตรวจจับความใกล้คือ Apple iPhone (2007) — ตั้งแต่นั้นมาเซ็นเซอร์นี้ก็กลายเป็นส่วนประกอบบังคับในโทรศัพท์สมัยใหม่ทุกเครื่อง
เซ็นเซอร์มักจะซ่อนอยู่ใต้ กระจกหน้าจอ และมองเห็นได้จากมุมหนึ่งเท่านั้นเป็นจุดเล็ก ๆ รุ่นใหม่ใช้โมดูลออปติคอลที่มีมุมลำแสงแคบ (15–30 องศา) เพื่อป้องกันการทำงานผิดพลาดจากการสะท้อนบนกระจก ผู้ผลิตประกอบด้วย Sharp, ams OSRAM (ซีรีส์ TMD), Silicon Labs และพันธมิตรตามสัญญาของพวกเขา
| พารามิเตอร์ | ค่า |
|---|---|
| ความยาวคลื่น | 850–940 นาโนเมตร (ช่วง IR ที่มองไม่เห็น) |
| ระยะ | 0–10 ซม. |
| ความละเอียด | 0.5 ซม. |
| การใช้พลังงาน | 0.3–0.7 mA |
| เวลาตอบสนอง | 10–50 มิลลิวินาที |
อุปกรณ์มือถือใช้ เซ็นเซอร์แบบแยก (ชิปแยก IR LED + โฟโตไดโอด) และ โมดูลแบบรวม (องค์ประกอบทั้งสองบนชิปเดียว) โซลูชันแบบรวม (ams TMD2635, ขนาด 1×1×0.5 มม.) ใช้ในตัวเครื่องบางเฉียบของเรือธงสมัยใหม่และใช้พื้นที่บนแผงวงจรน้อยที่สุด
หลักการทำงานของเซ็นเซอร์ตรวจจับความใกล้ขึ้นอยู่กับ การวัดความเข้มของรังสี IR ที่สะท้อน LED อินฟราเรดปล่อยพัลส์แสง (850–940 นาโนเมตร) และโฟโตไดโอดวัดปริมาณแสงที่สะท้อนจากวัตถุ หากสัญญาณสะท้อนเกินเกณฑ์ วัตถุจะถือว่าอยู่ใกล้ (น้อยกว่า 3–5 ซม.)
ความท้าทายทางเทคนิคหลักคือ การรบกวนจากแสงอาทิตย์ และสัญญาณรบกวนจากแหล่ง IR อื่น ๆ วิธีแก้คือการปรับสัญญาณการปล่อย: IR LED ปล่อยพัลส์ที่ความถี่ 10–100 kHz และเครื่องตรวจจับแสงตรวจจับสัญญาณแบบซิงโครนัส กรององค์ประกอบ DC ออก ตาม ams Application Note AN000610 (2024) การตรวจจับแบบซิงโครนัสสามารถระงับแสงพื้นหลังได้ 40–60 dB
เกณฑ์การทำงาน ถูกกำหนดโดยผู้ผลิตในระหว่างการปรับเทียบและขึ้นอยู่กับความโปร่งใสของกระจกหน้าจอ เกณฑ์ทั่วไปสอดคล้องกับระยะสะท้อน 2–4 ซม. เมื่อนิ้วหรือหูอยู่ใกล้กว่าเกณฑ์ เซ็นเซอร์จะส่งออก 0 (ใกล้) มิฉะนั้นจะคืนค่าระยะสูงสุด (8–10 ซม. ขึ้นอยู่กับรุ่น)
เซ็นเซอร์ตรวจจับความใกล้ IR วัดความเข้มของการสะท้อน — เซ็นเซอร์แบบไบนารีสองสถานะ 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 ซม. | 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 mA
ปัญหาหลักของเซ็นเซอร์ตรวจจับความใกล้คือ การทำงานผิดพลาด เมื่อใช้ฟิล์มกันรอยและเคส ผู้ผลิตบางราย (Google Pixel 8, 2023) ใช้เซ็นเซอร์ตรวจจับความใกล้อัลตราโซนิกแทน IR — ทำงานผ่านฟิล์มกันรอยและหน้าจอทุกความหนา แต่มีความแม่นยำต่ำกว่าและหน่วงเวลาสูงกว่า (สูงสุด 100 มิลลิวินาที) กระจกหนา (มากกว่า 0.5 มม.) กระจายรังสี IR ทำให้เกิดการทำงานตลอดเวลา วิธีแก้คือใช้เคสที่มีการเจาะช่องที่แม่นยำสำหรับเซ็นเซอร์ ข้อเสียประการที่สองคือไม่สามารถทำงานผ่านหน้าจอ OLED ที่มีความโปร่งใสแปรผัน (เซ็นเซอร์ใต้หน้าจอ)
ในปี 2024–2025 ผู้ผลิตเริ่มนำ เซ็นเซอร์ตรวจจับความใกล้ใต้หน้าจอ มาใช้ ซึ่งลดขอบบนลงเหลือ 1–2 มม. อุปกรณ์ผลิตจำนวนมากรุ่นแรกที่มีเซ็นเซอร์ตรวจจับความใกล้ใต้หน้าจอคือ Xiaomi 14 Ultra (2024) ตามด้วย OnePlus 12 และ Samsung Galaxy S25 เทคโนโลยีใช้รังสี IR ที่ 940 นาโนเมตรซึ่งทะลุผ่านพิกเซล OLED บางส่วน ตามเอกสารทางเทคนิคของ Samsung Display (2024) ความโปร่งใสของ OLED สำหรับรังสี IR คือ 15–25% — เพียงพอสำหรับการทำงานของเซ็นเซอร์ที่ความสว่างหน้าจอสูงถึง 600 cd/m² ที่ความสว่างสูงกว่า เมทริกซ์จะกลายเป็นทึบแสงต่อ IR และเซ็นเซอร์ต้องปิดไฟพื้นหลังเป็นเวลา 1–2 เฟรมเพื่อวัด
เมื่อพัฒนาแอป Android อีมูเลเตอร์ไม่รองรับเซ็นเซอร์ตรวจจับความใกล้ — ต้อง จำลองด้วยซอฟต์แวร์ บนอุปกรณ์จริง คุณสามารถใช้คำสั่ง adb: adb shell sendevent /dev/input/eventX พร้อมรหัส ABS_MT_TOUCH_MAJOR ที่เหมาะสม ในการจำลองการปิดหน้าจอระหว่างการโทรในการทดสอบ ให้ใช้ SensorManager กับออบเจกต์จำลองที่คืนค่า 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+ มม.) อาจกระจายรังสี IR และทำให้เกิดการทำงานผิดพลาด แนะนำให้ใช้ฟิล์มกันรอยที่มีการเจาะช่องที่แม่นยำหรือกรอบสีดำรอบเซ็นเซอร์
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม