INFORMACIÓN
El APDS-9960 Sensor de Reconocimiento de Gestos es un dispositivo avanzado que combina detección de gestos, proximidad, luz ambiental y color en un solo módulo. Mediante un procesamiento interno integrado, el sensor interpreta los patrones de luz reflejada en distintas direcciones y puede reconocer gestos como deslizar a la izquierda, derecha, arriba, abajo, así como detectar proximidad y medir niveles de luz ambiental.
El APDS-9960 se utiliza principalmente en aplicaciones de control por gestos sin contacto, como en smartphones, tablets, dispositivos portátiles, sistemas interactivos y domótica, permitiendo manejar funciones con simples movimientos de la mano. Entre sus aplicaciones destacan el control de menús en pantallas, la detección de proximidad para encender o apagar pantallas automáticamente, y la medición de luz ambiental para ajuste de brillo. Es compatible con tarjetas de desarrollo como Arduino (convertidor lógico), ESP32, ESP8266, Raspberry Pi y otras plataformas de microcontroladores que soporten comunicación I2C.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Modelo: APDS-9960.
- Funciones integradas: detección de gestos, proximidad, color y luz ambiental.
- Interfaz de comunicación: I2C (dirección esclavo 0x39).
- Rango de voltaje de operación: 2.4 V a 3.6 V (típico 3.3 V).
- Nivel Lógico: 3.3 VDC.
- Consumo de corriente en operación: ~100 µA (modo bajo consumo disponible).
- Corriente en standby: < 1 µA.
- Sensor de luz ambiental (ALS):
- Rango dinámico de 0.01 lux a 10,000 lux.
- Detección RGB y claro (4 canales: rojo, verde, azul y transparente).
- Compensación de luz infrarroja.
- Sensor de proximidad:
- Alcance típico: hasta 100 mm (dependiendo del objeto y la luz ambiental).
- LED infrarrojo integrado para emisión.
- Sensor de gestos:
- Capaz de detectar movimientos en 4 direcciones: arriba, abajo, izquierda, derecha.
- Distancia de detección de gestos: 10 – 20 cm.
- Módulo de procesado integrado para interpretación de gestos.
- Resolución de gestos: hasta 8 bits.
- Temperatura de operación: – 40 °C a + 85 °C.
- Dimensiones: 15 mm x 20 mm x 4 mm.
- Peso: 1.39 g.
NOTA: No usar tarjetas de desarrollo con lógica de 5V, ya que esto puede dañar el sensor de forma permanente.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Descripción de Pines.
- VL: Alimentación opcional al LED IR si el puente PS está desconectado. Debe ser de 3.0 a 4.5 V.
- GND: Conectar a tierra.
- VCC: Se utiliza para alimentar el sensor APDS-9960. Debe ser de 2.4 a 3.6 V.
- SDA: I2C data.
- SCL: I2C clock.
- INT: Pin de interrupción externa. Nivel BAJO (LOW) activo en caso de interrupción.
Configuración de Puentes.
- PD: Este puente conecta las fuentes de alimentación del sensor y el LED IR (también ubicado en el APDS-9960). Cuando el puente está cerrado (es decir, conectado), solo necesita alimentar el pin VCC para alimentar tanto el sensor como el LED IR. Si el puente está abierto, debe alimentar los pines VCC (2,4-3,6 V) y VL (3,0-4,5 V) por separado. Este puente está abierto por defecto (para pruebas no se soldará). Si usarás voltaje de tu placa de desarrollo, conéctalo de igual forma a 3.3V, en caso contrario usa una fuente de alimentación estable.
- Puente I²C: Este puente se utiliza para conectar y desconectar las resistencias pullup I²C. Por defecto, este puente está abierto, lo que significa que tanto las líneas SDA como SCL no tienen resistencias pullup conectadas en la placa de conexiones. Soldé el puente si necesita las resistencias pullup (para pruebas no se soldará).
¿Cómo probar el APDS-9960 Sensor de Reconocimiento de Gestos?
Aquí tienes una guía rápida sobre como probar el APDS-9960 Sensor de Reconocimiento de Gestos, recuerda que su nivel lógico es de 3.3V.
Materiales Necesarios.
- ESP32 (Dev Module, WROOM, etc.) o puedes usar un Arduino Pro 3.3V.
- APDS-9960 (módulo breakout).
- Cables Dupont.
- Protoboard (opcional).
Diagrama de Conexión.
| APDS-9960 | ESP32 |
|---|---|
| VCC/VL | 3.3 V |
| GND | GND |
| SDA | GPIO 21 |
| SCL | GPIO 22 |
| INT | GPIO 4 (opcional pero recomendado) |
INT permite detectar gestos sin estar preguntando constantemente al sensor.

Instalación de Librería y Modificación.
- Abre Arduino IDE.
- Ve a Sketch → Include Library → Manage Libraries.
- Busca:
Adafruit APDS9960 Library. - Instala la librería oficial.
- Modificaremos el archivo: “Adafruit_APDS9960.cpp” para ellos nos iremos a Documentos > Arduino > libraries > Adafruit_APDS9960_Library, se puede abrir el archivo con cualquier editor de textos.
- Se cambiará la línea 100 a la 104, quedando de la siguiente manera:
-
/* Make sure we're actually connected */ /*uint8_t x = read8(APDS9960_ID); if (x != 0xAB) { return false; }*/ - Se comentará ese espacio de código para saltar la autentificación del ID del módulo, ya que el código original demanda únicamente la 0xAB y el sensor puede ser distinto, una vez hecho los cambios se debe de guardar, de lo contrario no se aplicará lo que se haya hecho.
Código.
Se cargará el código, para ello se puede hacer desde Ejemplo → gesture_sensor o lo puedes copiar desde aquí:
/***************************************************************************
This is a library for the APDS9960 digital proximity, ambient light, RGB, and gesture sensor
This sketch puts the sensor in gesture mode and decodes gestures.
To use this, first put your hand close to the sensor to enable gesture mode.
Then move your hand about 6" from the sensor in the up -> down, down -> up,
left -> right, or right -> left direction.
Designed specifically to work with the Adafruit APDS9960 breakout
----> http://www.adafruit.com/products/3595
These sensors use I2C to communicate. The device's I2C address is 0x39
Adafruit invests time and resources providing this open source code,
please support Adafruit andopen-source hardware by purchasing products
from Adafruit!
Written by Dean Miller for Adafruit Industries.
BSD license, all text above must be included in any redistribution
***************************************************************************/
#include "Adafruit_APDS9960.h"
Adafruit_APDS9960 apds;
// the setup function runs once when you press reset or power the board
void setup() {
Serial.begin(115200);
if(!apds.begin()){
Serial.println("failed to initialize device! Please check your wiring.");
}
else Serial.println("Device initialized!");
//gesture mode will be entered once proximity mode senses something close
apds.enableProximity(true);
apds.enableGesture(true);
}
// the loop function runs over and over again forever
void loop() {
//read a gesture from the device
uint8_t gesture = apds.readGesture();
if(gesture == APDS9960_DOWN) Serial.println("v");
if(gesture == APDS9960_UP) Serial.println("^");
if(gesture == APDS9960_LEFT) Serial.println("<");
if(gesture == APDS9960_RIGHT) Serial.println(">");
}
Respuesta.
Abre el Monitor Serie a 115200 baudios y realiza gestos válidos:
- →: Izquierda → derecha.
- ←: Derecha → izquierda.
- ↑: Abajo → arriba.
- ↓: Arriba → abajo.
Verás como se imprimen en el monitor serial, recuerda hacerlo con la mano abierta, a una distancia de 5 a 15 cm del sensor y con luz ambiental moderada.

ET828 Multímetro Osciloscopio 2 en 1 AC DC
Orange Pi Zero2 1GB RAM Cortex-A53 1.5GHz




























Valoraciones
No hay valoraciones aún.