- All products
- Sensors & Modules
- Gesture
- Gesture APDS-9960 Digital RGB, Ambient Light, Proximity Sensor (5pin) RobotDYN
- Gesture
Features
- RGB color, ambient light, proximity, and gesture sensing in one module
- I2C digital communication interface
- Factory calibrated proximity and gesture detection
- Proximity detection range up to 100 millimeters
- Four directional photodiodes for gesture recognition
- Integrated UV and IR blocking filter for accurate light measurement
- Micro optic lenses for efficient infrared transmission
- Low power operation with internal state machine
- High sensitivity allowing operation behind dark glass
- Interrupt pin for efficient event signaling
Principle of Operation
The sensor uses RGB photodiodes with optical filters to measure color and ambient light. An internal infrared LED emits IR light that reflects off nearby objects. Reflected light is detected by directional photodiodes, allowing the sensor to determine proximity and motion direction. An internal controller processes this data and provides results through the I2C interface while managing power consumption efficiently.
Pinout
- VCC Power supply input from 2.4V to 3.6V
- GND Ground connection
- SDA I2C data line
- SCL I2C clock line
- INT Interrupt output pin
Applications
- Display backlight control
- Color temperature measurement
- Touch screen proximity disable
- Gesture based control interfaces
- Mechanical switch replacement
- Smart home and IoT devices
Arduino Test Code
#include <Wire.h>
#include <SparkFun_APDS9960.h>
SparkFun_APDS9960 apds;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!apds.init()) {
Serial.println("APDS9960 initialization failed");
while (1);
}
apds.enableColor();
apds.enableGesture();
Serial.println("APDS9960 ready");
}
void loop() {
uint16_t r, g, b, c;
if (apds.readRedLight(r) &&
apds.readGreenLight(g) &&
apds.readBlueLight(b) &&
apds.readClearLight(c)) {
Serial.print("R ");
Serial.print(r);
Serial.print(" G ");
Serial.print(g);
Serial.print(" B ");
Serial.print(b);
Serial.print(" C ");
Serial.println(c);
}
if (apds.isGestureAvailable()) {
int gesture = apds.readGesture();
Serial.print("Gesture ");
Serial.println(gesture);
}
delay(500);
}
Technical Details
- Sensor type RGB ambient light proximity and gesture
- Operating voltage 2.4V to 3.6V
- Communication interface I2C
- Proximity range up to 100 millimeters
- Gesture detection range up to 200 millimeters
- Low power consumption approximately 1 microamp in sleep mode
- Operating temperature range minus 40 to plus 85 degrees Celsius
Features
- RGB color, ambient light, proximity, and gesture sensing in one module
- I2C digital communication interface
- Factory calibrated proximity and gesture detection
- Proximity detection range up to 100 millimeters
- Four directional photodiodes for gesture recognition
- Integrated UV and IR blocking filter for accurate light measurement
- Micro optic lenses for efficient infrared transmission
- Low power operation with internal state machine
- High sensitivity allowing operation behind dark glass
- Interrupt pin for efficient event signaling
Principle of Operation
The sensor uses RGB photodiodes with optical filters to measure color and ambient light. An internal infrared LED emits IR light that reflects off nearby objects. Reflected light is detected by directional photodiodes, allowing the sensor to determine proximity and motion direction. An internal controller processes this data and provides results through the I2C interface while managing power consumption efficiently.
Pinout
- VCC Power supply input from 2.4V to 3.6V
- GND Ground connection
- SDA I2C data line
- SCL I2C clock line
- INT Interrupt output pin
Applications
- Display backlight control
- Color temperature measurement
- Touch screen proximity disable
- Gesture based control interfaces
- Mechanical switch replacement
- Smart home and IoT devices
Arduino Test Code
#include <Wire.h>
#include <SparkFun_APDS9960.h>
SparkFun_APDS9960 apds;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!apds.init()) {
Serial.println("APDS9960 initialization failed");
while (1);
}
apds.enableColor();
apds.enableGesture();
Serial.println("APDS9960 ready");
}
void loop() {
uint16_t r, g, b, c;
if (apds.readRedLight(r) &&
apds.readGreenLight(g) &&
apds.readBlueLight(b) &&
apds.readClearLight(c)) {
Serial.print("R ");
Serial.print(r);
Serial.print(" G ");
Serial.print(g);
Serial.print(" B ");
Serial.print(b);
Serial.print(" C ");
Serial.println(c);
}
if (apds.isGestureAvailable()) {
int gesture = apds.readGesture();
Serial.print("Gesture ");
Serial.println(gesture);
}
delay(500);
}
Technical Details
- Sensor type RGB ambient light proximity and gesture
- Operating voltage 2.4V to 3.6V
- Communication interface I2C
- Proximity range up to 100 millimeters
- Gesture detection range up to 200 millimeters
- Low power consumption approximately 1 microamp in sleep mode
- Operating temperature range minus 40 to plus 85 degrees Celsius