Gesture RGB GY-APDS9960 3.3V Module Purple
The RGB and Gesture Sensor module utilizes the APDS-9960 sensor's advanced architecture and intelligent functionalities to detect gestures, measure ambient light, and provide RGB color values. Its I2C communication, low power consumption, and noise reduction capabilities make it a reliable and efficient component for various applications that require touchless gesture control and light sensing. The module can be integrated into various applications such as home automation systems, interactive displays, robotics, and gaming interfaces. It provides a futuristic and intuitive way to interact with electronic devices without physical contact.
Package Includes:
- 1x Gesture Sensing Identification Module GY-APDS9960 3.3v
Features:
- Ambient light and color measurement: The module accurately measures ambient light levels and can detect and differentiate various colors, providing valuable data for applications that require light sensing and color analysis.
- Proximity detection: With built-in proximity detection capabilities, the sensor can detect the presence of objects or hands in close proximity, enabling touchless interaction and control.
- Touchless gesture sensing: The APDS-9960 sensor utilizes advanced gesture recognition algorithms to interpret hand movements and gestures in real-time, allowing users to control devices or interfaces without physical contact.
- IIC communication protocol: The module communicates using the IIC (Inter-Integrated Circuit) protocol, ensuring efficient and reliable data transmission between the sensor and the connected devices or microcontrollers.
- 3.3V power supply: The module operates on a 3.3V power supply, making it compatible with a wide range of systems and microcontrollers.
- Compact size: With dimensions of 20mm x 15.3mm, the module has a small footprint, making it easy to integrate into various projects and applications with limited space.
- Versatile compatibility: The module can be seamlessly integrated into diverse applications such as home automation systems, interactive displays, robotics, and more. It provides a flexible solution for incorporating gesture control into your projects.
Description:
The RGB and Gesture Sensor is an impressive breakout board equipped with the powerful APDS-9960 sensor. This compact module goes beyond conventional sensing capabilities by offering ambient light and color measurement, proximity detection, and touchless gesture sensing. With a simple swipe of your hand, you can effortlessly control a wide range of devices, including computers, microcontrollers, robots, and more. The GY-APDS9960-3.3 model operates on a 3.3V power supply, ensuring compatibility with various systems. The module's key component, the APDS-9960 chip, is responsible for capturing and interpreting data from the surrounding environment. It communicates seamlessly using the IIC communication protocol, allowing for efficient and reliable data transmission. Measuring just 20mm x 15.3mm, this sensor's compact size belies its impressive capabilities. Its eye-catching purple color adds a touch of visual appeal to your projects, making it stand out among other components.
Principle of Work:
The sensor detects gestures, ambient light, and RGB color values through a set of four photodiodes that detect reflected infrared (IR) energy emitted by an onboard LED. When a gesture is performed, the IR energy is obstructed and reflected back to the sensor, allowing it to capture velocity and direction data. The sensor operates within a detection range of 4 to 8 inches (10 to 20 cm), making it ideal for gesture sensing. The I2C protocol ensures efficient communication between the sensor and external devices. With a minimal current consumption of approximately 1µA, the module features adjustable IR LED timing to minimize power consumption and noise levels. The module also includes advanced noise reduction and cross-talk cancellation techniques to optimize its performance in varying environments.
Pinout of the Board:
- VCC: This pin provides the power supply to the module. Connect it to a +3.3V power source.
- GND: This pin is the ground connection. Connect it to the 0V reference of the power source.
- SDA: The Serial Data (SDA) pin is used for I2C data transmission between the module and microcontroller.
- SCL: The Serial Clock (SCL) pin synchronizes data transmission between the module and microcontroller.
- INT: The Interrupt (INT) pin signals events or triggers actions based on the module's output or status.
- VL: Provides a separate voltage supply for the LED, allowing independent control of LED power.
Applications:
- Human-Machine Interaction (HMI): The module enables touchless gesture control in HMI systems, making it ideal for controlling devices or interfaces with hand gestures.
- Robotics: Gesture-based control for intuitive interaction with robotic systems.
- Home Automation: Control smart devices such as lights and thermostats with simple hand gestures.
- Interactive Displays: Used in kiosks, digital signage, and other interactive display applications.
- Gaming Interfaces: Adds immersive gameplay by controlling characters or actions using hand gestures.
- Proximity Detection: Ideal for automatic door systems and presence sensing applications.
- Ambient Light Sensing: Adjusts lighting based on environmental light conditions for adaptive control.
Circuit:
- Connect VCC pin to 3.3V of the Arduino.
- Connect GND pin to the GND of the Arduino.
- Connect SDA pin to the SDA (data) pin of the Arduino (A4 on most boards).
- Connect SCL pin to the SCL (clock) pin of the Arduino (A5 on most boards).
- If using the interrupt feature, connect INT pin to any digital pin of the Arduino (e.g., pin 2).
- Library:
- Open Arduino IDE.
- Go to "Sketch" > "Include Library" > "Manage Libraries" and search for "SparkFun APDS9960".
- Click "Install" on the library page.
Code:
#include "Wire.h" #include "SparkFun_APDS9960.h" SparkFun_APDS9960 apds; volatile int isr_flag = 0; void interruptRoutine(); void handleGesture(); void setup() { pinMode(2, INPUT); Serial.begin(9600); Serial.println(F("--------------------------------")); Serial.println(F("SparkFun APDS-9960 - GestureTest")); Serial.println(F("--------------------------------")); attachInterrupt(digitalPinToInterrupt(2), interruptRoutine, FALLING); if (apds.init()) { Serial.println(F("APDS-9960 initialization complete")); } else { Serial.println(F("Something went wrong during APDS-9960 init!")); } if (apds.enableGestureSensor(true)) { Serial.println(F("Gesture sensor is now running")); } else { Serial.println(F("Something went wrong during gesture sensor init!")); } } void loop() { if (isr_flag == 1) { detachInterrupt(digitalPinToInterrupt(2)); handleGesture(); isr_flag = 0; attachInterrupt(digitalPinToInterrupt(2), interruptRoutine, FALLING); } } void interruptRoutine() { isr_flag = 1; } void handleGesture() { if (apds.isGestureAvailable()) { switch (apds.readGesture()) { case DIR_UP: Serial.println("UP"); break; case DIR_DOWN: Serial.println("DOWN"); break; case DIR_LEFT: Serial.println("LEFT"); break; case DIR_RIGHT: Serial.println("RIGHT"); break; case DIR_NEAR: Serial.println("NEAR"); break; case DIR_FAR: Serial.println("FAR"); break; default: Serial.println("NONE"); } } }
Technical Details:
- Type: GY-APDS9960-3.3
- Chip: APDS-9960
- Power Supply Voltage: 3.3V
- Communication Mode: IIC
- Size: 20mm x 15.3mm
- Gesture Sensing: Yes
- Ambient Light Sensing: Yes
- RGB Color Sensing: Yes
- Proximity Detection: Yes
- Gesture Detection Range: 4 to 8 inches (10 to 20 cm)
- Interrupt Pin: Yes
- Current Consumption: 1µA
- LED Timing: Adjustable
- Comparisons:
The GY-APDS9960-3.3 and APDS9930 modules are similar in many aspects such as their sensing capabilities (gesture, ambient light, RGB color, proximity detection) and communication protocol (IIC). However, there may be differences in performance, features, and specific implementation details.