How does it work?
LightRanger Click is based on the TSL2583, a Time-of-Flight distance ranging sensor from STMicroelectronics, combining proximity ranging and ambient light level measurement capabilities into a single package. The VL6180X is based on ST’s patented FlightSense™ technology, which allows absolute distance to be measured independently of target reflectance. Instead of estimating the distance by measuring the amount of light reflected from the object (which is significantly influenced by color and surface), the VL6180X precisely measures the time the light takes to travel to the nearest object and reflect back to the sensor up to 10cm (ranging beyond 10cm is dependent on conditions).
Combining an IR emitter, a range sensor, and an ambient light sensor in a three-in-one package, the VL6180X is designed for low-power operation and saves the end-user optical and mechanical design optimizations. This board can also measure the intensity of light with which it is illuminated up to 100kLux. The VL6180X does not need a specific Power-Up sequence but requires a voltage of 2.8V for its VCSEL and power supply block to work correctly. Therefore, a small regulating LDO, the AP7331, provides a 2.8V out of chosen mikroBUS™ power rail.
LightRanger Click communicates with MCU using the standard I2C 2-Wire interface with a maximum clock frequency of 400kHz, fully adjustable through software registers. Since the sensor for operation requires a power supply of 2.8V, this Click board™ also features the PCA9306 and SN74LVC1T45 voltage-level translators. The I2C interface bus lines are routed to the voltage-level translators allowing this Click board™ to work with both 3.3V and 5V MCUs properly. Also, it can be enabled or disabled through the EN pin routed to the CS pin of the mikroBUS™ socket; hence, offering a switch operation to place the VL6180X in a hardware standby state and uses an interrupt pin, the INT pin of the mikroBUS™ socket, used for measurement ready and threshold interrupts.
This Click board™ can operate with both 3.3V and 5V logic voltage levels selected via the LOGIC SEL jumper. Therefore, both 3.3V and 5V MCUs can use the communication lines. This Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Proximity
Applications
Can be used for presence (object) detection, distance measurement, industrial ranging, inventory control, and more
On-board modules
TSL2583 – Time-of-Flight distance ranging sensor from STMicroelectronics
Key Features
Three-in-one smart optical module, Fast and accurate distance ranging, independent of object reflectance, ambient light rejection, gesture recognition, sensitive in ultra-low light, calibrated light output in lux, I2C interface, interrupt, and more
Interface
I2C
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on LightRanger Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
JP1 | LOGIC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
LightRanger Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
Distance Range | 0 | – | 10 | cm |
ALS Range | – | – | 100 | kLux |
ALS Spectral Range | 400 | – | 700 | nm |
ALS Peakwavelength | – | 560 | – | nm |
Software Support
We provide a library for the LightRanger Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for LightRanger Click driver.
Key functions
-
This function writes a byte of data to given address.
-
This function reads register and calculates the light level in lux.
-
This function reads range result from register.
Example Description
This example collects data from the sensor and logs it to the terminal.
void application_task ( void )
{
uint8_t range_value;
float lux_value;
lightranger_start_single_shot_range_mode( &lightranger );
lightranger_poll_range( &lightranger );
lightranger_interrupts_clear( &lightranger );
range_value = lightranger_get_distance( &lightranger );
log_printf( &logger, "Proximity : %u mmrn", ( uint16_t ) range_value );
lux_value = lightranger_get_ambiant_light( &lightranger, LIGHTRANGER_CMD_GAIN_1X );
log_printf( &logger, "Ambient Light: %.2f luxrn", lux_value );
log_printf( &logger, "*******************************************rn" );
Delay_ms( 500 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.LightRanger
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.