APDS9960 Proximity, Gesture and Ambient Light Sensor
The APDS-9960 is a multipurpose sensor that can be used for Ambient Light, RGB Sensing, Proximity Sensing, and Gesture Detection. It has been used in Samsung’s Galaxy S5 earlier and is used in many mobile phones as a proximity sensor. It is also used in gesture robotics because of its advanced gesture detection technique enabling it to detect the gesture very accurately and with a very high speed.
APDS-9960 Pin Configuration
Pin Number |
Pin Name |
Description |
1 |
VL |
Optional power to the IR LED if the PS jumper is not connected. Can be 3.0V to 4.5V. |
2 |
GND |
Connected to the ground of the circuit used. |
3 |
VCC |
Power supply to the board. Can be 2.4V to 3.6V. |
4 |
SDA |
I2C Serial Data Address pin. Used to transfer the data through I2C. |
5 |
SCL |
I2C Serial Clock Line pin. Provides clock pulse for I2C communication. |
6 |
INT |
External Interrupt pin. It is Active LOW during interrupt event. |
APDS-9960 Features
- Ambient Light and RGB Sensing, Proximity Sensing, and Advance Gesture Detection.
- Operating Voltage: 2.4V to 3.6V.
- Operating current: 0.2mA.
- Communication protocol: 400KHz
- Highly sensitive Ambient and RGB sensing through UV and IR blocking filters.
- For gesture sensing there are four photodiodes, which are sensitive to different to next directions so that it can detect complex gestures easily.
Alternative for APDS-9960: GY-7620
Other Proximity Sensors: VL53L0X, TCRT5000
Where to Use APDS 9960 Sensor
The APDS9960 is used in many places. We can use it for gesture detection, ambient and RGB light sensing, proximity sensing etc. It can be used to give the RGB ratings of the light, because many times we need a particular RGB rated light, so that can be manipulated accordingly. It is used in many phones to disable the screen while someone is dialing the phone and keeping it on ear.
The sensor uses I2C communication protocol so that makes it super easy to use with microcontrollers. It operates on voltage range of 2.4V-3.6V (Typically 3.3V) and consumes really small current of 0.2mA so it is a power efficient sensor. The sensor gives the RGB values directly so you don’t need to do any calculations to fetch them.
Hardware of this sensor module is very simple. APDS9960 sensor is the main component for this board. As the board operates on 3.3V so a voltage regulator is used. The sensor has four photodiodes to detect the gestures. Whenever a gesture is performed, the IR signal transmitted by the LED gets reflected by the obstacle and is detected by the photodiodes and then the information is received about velocity and distance. This is how a gesture is detected. For RGB color sensing it has different channels for each kind of light red, blue, green and clear. And each channel has IR and UV blocking filters and a data converter which produces 16-bit data for each channel. This sensing can be used to calculate color temperature and can also be used to manipulate the backlight of displays. The interrupt is used to control the detect function. So it triggers the sensor to release the IR or detect it according to the interrupt.
There are two jumpers PS and I2C PU. These both jumpers are soldered by default. The PS jumper connects the power of the board to the power supply of the sensor. So if it is closed then we need to connect the VCC pin only to power the board as well as sensor. And if it is open then we need to provide the power to the board by VCC pin (2.4V to 3.6V) and to sensor by VL pin (3.0V to 4.5V).
The I2C PU jumper connects the pull up resistors to SDA and SCL lines. By default it is soldered. If you wish to not use these pull up resistors then you need to de-solder it and open it.
Applications
- Used in gesture robotics, LCD displays for manipulation of backlight.
- Used in cell phones as proximity sensor.
- Mechanical switch replacement.
- Can be used in RGB monitor.