PROXIMITY 10 CLICK
PID: MIKROE-3455
Weight: 18 g
Proximity 10 Click is a versatile proximity detection device on a Click board™. It can detect a
foreign object distanced up to 200cm. The Click board™ features a detection sensor IC that can
trigger a programmable-event interrupts, which makes this Click board™ capable of detecting even
simple gesture movements. The advanced onboard IC sensor features LED driver section, a light
sensor with the integrated analog front end (AFE), 16 bit analog to digital converter (ADC), and
digital engine for processing and aggregation of the measurement result, which simplifies the
firmware development. The ambient light cancellation includes both digital and optical filtering,
resulting in increased detection reliability.
Proximity 10 click is supported by a mikroSDK compliant library, which includes functions that
simplify software development. This Click board™ comes as a fully tested product, ready to be used
on a system equipped with the mikroBUS™ socket.
With its high sensitivity and signal to noise ratio, this Click board™ is ideally suited for a
range of applications that rely on accurate and reliable proximity detection. It can be
used for proximity activated surveillance systems, equipment lid closing, object
proximity detection, simple gesture activated HID interface, and other similar
applications which rely on an accurate object proximity detection.
HOW DOES IT WORK
The main sensor IC on the Click board™ is the SI1143, a photometric sensor for the
ambient light and proximity detection, from Silicon Labs. Among other sections, this IC
contains a LED driver, used to drive an externally connected LED, which provides
feedback for the SI1143 sensory sections. Therefore, the LED should be chosen so that
its spectrum matches the spectral sensitivity of the on-chip light sensor. For this reason,
the Click board™ is equipped with the narrow beam LED from Rohm Semiconductor with
its spectral response characteristic peaking at 870nm, which is a perfect choice for this
application.
The proximity detection consists of sending a pulse to the LED while measuring the
response of the reflected light. Most of the parameters are user configurable, such as
the sampling frequency, pulses duration, averaging parameters and more. More indepth information about the registers can be found in the SI1143 datasheet. Aimed
towards the low consumption market, the SI1143 uses a rather low voltage range,
between 1.7V and 3.6V. Since the most of the MCUs use 3.3V, this click board™ is
designed so that the SI1143 IC is directly interfaced with the mikroBUS™.
Proximity 10 click offers an interrupt output pin that can be used to trigger an interrupt
on the host MCU. The SI1143 IC interrupt engine allows several interrupt sources,
which can be used to trigger a state change on the INT pin. These sources include
proximity detection interrupts (proximity OFF and proximity ON), sample interrupts, and
more. The INT pin itself is highly configurable, and when asserted, this pin triggers an
MCU interrupt, informing it that the configured interrupt event has occurred. The MCU
can then read the desired register output, not having to poll it constantly, which saves
both MCU cycles and power. The INT pin is routed via the level shifting IC to the
mikroBUS™ INT pin.
As already mentioned, detailed information on the SI1143 IC registers can be found in
the datasheet. However, MikroElektronika provides a library that contains functions
compatible with the MikroElektronika compilers, which can be used for simplified
programming of the Proximity 10 click. The library also contains an example application,
which demonstrates its use. This example application can be used as a reference for
custom designs.
SPECIFICATIONS
Type
Proximity
Applications
It can be used for proximity activated surveillance systems,
equipment lid closing, object proximity detection, simple gesture
activated HID interface, and other similar applications which rely on
an accurate object proximity detection.
On-board
modules
SI1143, a photometric sensor for the ambient light and proximity
detection, from Silicon Labs.
Key Features
Accurate proximity detection, Accurate lux measurements with IR
correction algorithm, Integrated infrared proximity detector,
Integrated ambient light sensor
Interface
GPIO,I2C
Click board
size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
PINOUT DIAGRAM
This table shows how the pinout on Proximity 10 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
NC
1
AN
PWM
16
NC
NC
2
RST
INT
15
INT
NC
3
CS
RX
14
NC
NC
4
SCK
TX
13
NC
NC
5
MISO
SCL
12
SCL
I2C Clock
NC
6
MOSI
SDA
11
SDA
I2C Data
Power Supply
3.3V
7
3.3V
5V
10
NC
Ground
GND
8
GND
GND
9
GND
Interrupt output
Ground
ONBOARD SETTINGS AND INDICATORS
Label
Name
Default
LD1
PWR
-
Description
Power LED Indicator
SOFTWARE SUPPORT
We provide a library for the Proximity 10 click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers. The demo can run
on all the main MikroElektronika development boards.
Library Description
This library allows user to measure proximity between object and sensor. Also the ALS,
temperature and VDD measurement can be performed in the same time and on the
same way. The entire control of the Proximity 10 Click board can be perfomed by using
this library, by writing to the registers, reading from the registers, writing desired
parameters, checking the response, interrupt status checking and sending a
commands. For more details check documentation.
Key functions:
T_PROXIMITY10_RETVAL proximity10_readBytes( uint8_t regAddr, uint8_t *dataOut, uint8_t
nBytes ) - This function reads the desired number od bytes from the registers..
T_PROXIMITY10_RETVAL proximity10_writeByte( uint8_t regAddr, uint8_t dataIn )- This
function writes a one byte data to the desired register.
T_PROXIMITY10_RETVAL proximity10_send_command( uint8_t _command ) - This function allows user
to execute a desired command and checks the response.
Examples description
The application is composed of three sections :
System Initialization - Initializes peripherals and pins.
Application Initialization - Initializes I2C serial interface and performs a device wake up, reset and all
necessary configurations. The device will wake up and performs a measurements every 10
milliseconds.
Application Task - (code snippet) - Reads the proximity PS1 data value and sends result to the uart
terminal. If measured proximity value is greater than selected proximity threshold value, the interrupt
will be generated and the message will be showed on the uart terminal. When interrupt is generated
the Sound function will make an alarm sound with determined duration depending on the detected
proximity value, how much is object away or close from the sensor.
void applicationTask()
{
proximity10_readWord( _PROXIMITY10_PS1_DATA_REG, &proximity );
WordToStr( proximity, text );
mikrobus_logWrite( "** Proximity PS1 : ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_LINE );
int_status = proximity10_check_int_status( _PROXIMITY10_PS1_INT_FLAG, _PROXIMITY10_INT_CLE
AR_DIS );
if (int_status == _PROXIMITY10_PS1_INT_FLAG)
{
mikrobus_logWrite( "** Object is detected **", _LOG_LINE );
alarm_dur = proximity / 100;
alarm_dur = alarm_dur + 35;
alarm_dur = (float)(alarm_dur * 0.30928);
alarm_dur = 180 ‐ alarm_dur;
Sound_Play( 1400, alarm_dur );
Delay_ms( 100 );
}
else
{
Delay_ms( 200 );
}
mikrobus_logWrite( "**************************************", _LOG_LINE );
}
Additional Functions :
checkResponse - Sends an error code message to the uart terminal if error code is detected in the
response.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
Conversions
I2C
UART
Sound
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. The terminal available in all
MikroElektronika compilers, or any other terminal application of your choice, can be
used to read the message.
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.
https://www.mikroe.com/proximity‐10‐click/8‐29‐19