You'll need to install a library to make Arduino IDE support the module. This library includes drivers for the APDS-9960 and sample code for you to jumpstart your project.
For ESP32 based systems, we're currently supporting Arduino core. Please make sure you've installed the following:
ESP32 Hardware libraries for the Arduino IDE.
Python for the compilation of Arduino projects.
Drivers for your host device, e.g., USB Virtual Serial Port driver.
Please download the library archive from https://github.com/Turta-io/Modular
Then, copy its contents to your Arduino Libraries folder.
You can find the Arduino Libraries folder inside your Arduino sketch directory. It is generally located inside the My Documents folder.
The library comes with included samples. There is no need to download additional files for the examples.
The hardware, its drivers and the sample code are open source. You can use them under the terms of the MIT license. Please feel free to customize and prototype them for your projects.
Turta_ALSGesture_Module library is responsible for reading sensor data.
To use the library on Arduino IDE, add the following #include statement to the top of your sketch.
Then, create an instance of the Turta_ALSGesture_Module class.
Now you're ready to access the library by calling the als instance.
To initialize the module, call the begin method.
This method configures the I2C bus and INT pin to read sensor data.
Returns the ambient light value.
Int: Ambient light value
Returns the ambient and RGB light.
void readARGBLight(int a, int r, int g, int b)
Int: a out
Int: r out
Int: g out
Int: b out
Returns the raw proximity value.
Short: Proximity value
You can open the example from Arduino IDE > File > Examples > Examples from Custom Libraries > Turta ALS & Gesture Module. There are two examples of this sensor.
If you're experiencing difficulties while working with your device, please try the following steps.
Problem: You're reading NaN instead of sensor data. Cause: The host device does not communicate with the sensor over the I2C protocol. There is a software bug on the ESP32 Arduino hardware library which prevents I2C communication. Solution: Please update the ESP32 hardware library.