Avago APDS-9960 Breakout Board (SEN-12787)
20 February 2017 - LIBRARY MODIFIED BY MARCFINNS AS FOLLOWS:
In the original version the readGesture() API does not return until there is something in front of the sensor. This blocks the execution flow indefinitely if the sensor view is not clear, e.g.if an object is in front of the sensor. This is a big issue for small CPUs such as Arduino / ESP8266 that are not multithreaded. The issue is addressed by adding a setGestureTimeout() API that accepts a timeout in milliseconds. If the readGesture() API returns because of a timeout, the returned event is set to DIR_NONE. The original blocking behavior is retained as the default timeout value is set to DEFAULT_GWAIT_FOREVER upon initialization.
- Download the Git repository as a ZIP ("Download ZIP" button)
- Unzip
- Copy the entire library directory (APDS-9960_RGB_and_Gesture_Sensor_Arduino_Library ) to <Arduino installation directory>/libraries
- Open the Arduino program
- Select File -> Examples -> SparkFun_APDS9960 -> GestureTest
- Plug in your Arduino and APDS-9960 with the following connections
-OR-
- Use the library manager
Arduino Pin | APDS-9960 Board | Function |
---|---|---|
3.3V | VCC | Power |
GND | GND | Ground |
A4 | SDA | I2C Data |
A5 | SCL | I2C Clock |
2 | INT | Interrupt |
- Go to Tools -> Board and select your Arduino board
- Go to Tools -> Serial Port and select the COM port of your Arduino board
- Click "Upload"
- Go to Tools -> Serial Monitor
- Ensure the baud rate is set at 9600 baud
- Swipe your hand over the sensor in various directions!
- /examples - Example sketches for the library (.ino). Run these from the Arduino IDE.
- /src - Source files for the library (.cpp, .h).
- library.properties - General library properties for the Arduino package manager.
- Installing an Arduino Library Guide - Basic information on how to install an Arduino library.
- Product Repository - Main repository (including hardware files) for the SparkFun_APDS9960 RGB and Gesture Sensor.
- Hookup Guide - Basic hookup guide for the sensor.
- SEN-12787- Avago APDS-9960
- V_1.4.1 - Removing blank files, updating library.properties file.
- V_1.4.0 - Updated to new library structure
- V_1.3.0 - Implemented disableProximitySensor(). Thanks to jmg5150 for catching that!
- V_1.2.0 - Added pinMode line to GestureTest demo to fix interrupt bug with some Arduinos
- V_1.1.0 - Updated GestureTest demo to not freeze with fast swipes
- V_1.0.0: Initial release
- Ambient and RGB light sensing implemented
- Ambient light interrupts working
- Proximity sensing implemented
- Proximity interrupts working
- Gesture (UP, DOWN, LEFT, RIGHT, NEAR, FAR) sensing implemented
This product is open source!
The code is beerware; if you see me (or any other SparkFun employee) at the local, and you've found our code helpful, please buy us a round!
Please use, reuse, and modify these files as you see fit. Please maintain attribution to SparkFun Electronics and release anything derivative under the same license.
Distributed as-is; no warranty is given.
- Your friends at SparkFun.