Spectral 2 click
PID: MIKROE-2973
Weight: 24 g
Spectral 2 click is a multispectral color sensing device, which uses the state-of-the-art
sensor IC for a very accurate color sensing. The sensor on the Spectral 2 click provides
multi-spectral sensing in the visible range of wavelengths from approximately 430nm to
670nm with the full width at half maximum (FWHM) of 40nm. Spectral 2 click provides a
direct reading of the six different color components with the 16bit precision, as well as the
calibrated reading, that gives 32bit float values with an 8bit biased exponent and a 23bit
fraction part, processed through the Spectral ID engine. The sensor also integrates two
programmable LED channels with constant current drivers, useful for indication and for
providing the backlight for the measured color object.
The onboard sensor has minimal drift over time and with temperature, which makes it very
reliable, even after long periods of time. The integrated temperature sensor compensates
for all the thermal influences from the environment. Equipped with such an advanced
multispectral sensor IC, Spectral 2 click can be used in various spectrometry applications,
used for the color measurement, spectral identification, color matching, color tuning and
calibration, even for the counterfeit detection based on the slight color mismatching.
Essentially – for any professional grade applications that require a high degree of color
recognition accuracy and consistency.
How does it work?
The multispectral sensor IC used on the Spectral 2 click is the AS7262, 6 channel visible
spectral_ID device with electronic shutter and smart Interface. This is a very advanced
multispectral sensor, which incorporates a 6 photodiodes array element. Every photo
element is filtered through the Gaussian filters, implemented through the nano-optic
deposited interference filter technology, designed to provide ranges for 6 visible channels:
450nm, 500nm, 550nm, 570nm, 600nm and 650nm, each with 40nm FWHM.The filter
characteristics are tested and measured with the 5700K white LED light. This technology
ensures minimal drift of the readings and temperature stability. It should be noted that the
filter accuracy will be affected by the angle of incidence, determined by an integrated
aperture and the internal microlenses, which is ±20° for the AS7262 IC.
The measurements from the photo elements are digitized by the 16bit ADC converter and
processed by the spectral_ID engine. Besides the raw values of the six color elements,
which can be read from the registers as 16bit integer values, the engine calculates all the
calibrated values available on this device and outputs them as 32bit float values with an
8bit biased exponent and a 23bit fraction part. After the specified integration time, those
values are available in their respective registers and are accessible via the smart high-level
UART interface driven by simple AT commands, or the I2C communication protocol bus.
Even the temperature sensor can be accessed via its register. A complete list of all the
available color coordinates and the registers which hold these values can be found in the
AS7262 datasheet.
The sensor data is organized in two banks. The first bank contains readings from the V, B, G
and Y photodiodes, while the second bank contains readings from the G, Y, O and R
photodiodes. Different modes allow readings to be made from each bank, as well as the
combinations between these two banks. There is also a mode for one-shot reading when
time-critical or triggered measurement needs to be made. The photodiode letter codes
above represent the colors of the respective wavelengths (Violet, Blue, Green, Yellow,
Orange, and Red)
An interrupt can be triggered when the data is ready to be read by the host, depending on
the selected bank mode. If the interrupt is enabled (INT = 1), the INT line is pulled to a LOW
logic level and DATA_RDY bit of the control register is set to 1. The INT line is released
when the control register is read. The DATA_RDY bit will be cleared whenever the
measurement registers are read. The interrupt will be generated after one or more
integrating cycles are completed, depending on the selected bank mode. The INT line of the
AS7262 is routed to the mikroBUS™ INT pin and can be used to trigger an interrupt on the
host MCU. More about bank reading modes and the interrupts can be found in the provided
AS7262 datasheet.
The RESET line of the sensor is routed to the mikroBUS™ RST pin. If this line is pulled to a
LOW level for more than 100ms, it will reset the device.
The sensor firmware is kept externally, on the auxiliary flash memory IC. The AT25SF041,
an SPI serial flash memory is used for storing the firmware of the AS7262 sensor.
The AT25SF041 IC communicates with the sensor via the SPI lines, internally routed on the
Spectral 2 click.
UART and I2C lines of the AS7262 sensor are routed to the mikroBUS™ respective UART
pins (RX/TX and SDA/SCL). To select which interface will be used to drive the sensor IC,
three onboard SMD jumpers labeled as COM SEL need to be moved either to the left
position (to enable UART), or to the right position (to enable I2C). It should be noted that
all the SMD jumpers need to be moved at once - if some of them are set as UART and some
as I2C, the communication might not be possible at all.
There are two integrated programmable LED drivers on the AS7262 sensor. The first LED
constant current driver can be programmed up to 10mA and it can be used as the status
indicator. It is also activated during the sensor firmware programming. The second LED
driver is intended for driving of the light source for the measurement surface illumination.
It can drive high brightness LED with up to 100mA. Both of these LED drivers are available
through the communication interfaces.
Specifications
Type
Optical
Applications
Portable spectrometry applications, color matching and
identification, precision color tuning/calibration, and similar
applications that rely on reliable and precise color sensing
On-board
modules
AS7262, a digital 6-channel spectrometer for spectral identification
in the visible light wavelength range, with electronic shutter and
smart interface, from ams; AT25SF041, a 4Mb SPI serial flash from
Adesto Technologies
Key Features
Compact 6-channel visible spectrum solution realized by the
proprietary silicon interference filters, lifetime-calibrated sensing
with no drift over time or temperature, on-chip data processing,
auxiliary illumination LED drivers, smart UART interface
Interface
I2C,UART
Input
Voltage
3.3V
Click board
size
L (57.15 x 25.4 mm)
Pinout diagram
This table shows how the pinout on Spectral 2 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
NC
Pin
1
AN
PWM
16
NC
Notes
Reset
Power supply
Ground
RST
2
RST
INT
15
INT
Interrupt
NC
3
CS
RX
14
TX
UART transmit
NC
4
SCK
TX
13
RX
UART receive
NC
5
MISO
SCL
12
SCL
I2C Clock
NC
6
MOSI
SDA
11
SDA
I2C Data
+3.3V
7
3.3V
5V
10
NC
GND
8
GND
GND
9
GND
Ground
Onboard settings and indicators
Label
Name
Default
Description
LD1
PWR
-
Power LED indicator
LD2
IND
-
Programmable constant current LED indicator
LD3
DRV
-
Programmable constant current LED illuminator
JP1
COM.SELL.
Right
Communication Interface Selection I2C/UART, left
position UART, right position I2C
JP2
COM.SELL.
Right
Communication Interface Selection I2C/UART, left
position UART, right position I2C
JP3
COM.SELL.
Right
Communication Interface Selection I2C/UART, left
position UART, right position I2C
Software support
We provide a library for Spectral 2 click on our Libstock page, as well as a demo application
(example), developed using MikroElektronika compilers. The demo application can run on
all the main MikroElektronika development boards.
Library Description
This library will allow you to read the RGB values from the Spectral 2 click board sensor.
Key functions:
•
•
void spectral2_reset(); - Function for doing a software reset on the sensor.
void spectral2_Configuration(uint8_t _data); - This function is used for configuring
different operation modes of the sensor.
•
float spectral2_getCalibratedData(uint8_t dataReg); - Function for reading the RGB
values depending on the parameter passed.
Examples Description
The demo application is composed of three sections:
•
System Initialization - Initializes I2C module, RST pin as OUTPUT and INT pin as INPUT.
•
Application Initialization - Driver initialize, reset module and configuration measurement.
•
Application Task - (code snippet) - Reads the brightness value with R, G, B, I, O and V filter,
every 1 second, and logs on to USBUART..
void applicationTask()
{
mikrobus_logWrite("-------------------",_LOG_LINE);
fData = spectral2_getCalibratedData(_SPECTRAL2_CALIBRATED_DATA_R);
FloatToStr(fData,fText);
mikrobus_logWrite("-- R ( Red data ) :",_LOG_TEXT);
mikrobus_logWrite(fText,_LOG_LINE);
fData = spectral2_getCalibratedData(_SPECTRAL2_CALIBRATED_DATA_G);
FloatToStr(fData,fText);
mikrobus_logWrite("-- G ( Green data ) :",_LOG_TEXT);
mikrobus_logWrite(fText,_LOG_LINE);
fData = spectral2_getCalibratedData(_SPECTRAL2_CALIBRATED_DATA_B);
FloatToStr(fData,fText);
mikrobus_logWrite("-- B ( Blue data ) :",_LOG_TEXT);
mikrobus_logWrite(fText,_LOG_LINE);
fData = spectral2_getCalibratedData(_SPECTRAL2_CALIBRATED_DATA_Y);
FloatToStr(fData,fText);
mikrobus_logWrite("-- Y ( Yellow data ) :",_LOG_TEXT);
mikrobus_logWrite(fText,_LOG_LINE);
fData = spectral2_getCalibratedData(_SPECTRAL2_CALIBRATED_DATA_O);
FloatToStr(fData,fText);
mikrobus_logWrite("-- O ( Orange data ) :",_LOG_TEXT);
mikrobus_logWrite(fText,_LOG_LINE);
fData = spectral2_getCalibratedData(_SPECTRAL2_CALIBRATED_DATA_V);
FloatToStr(fData,fText);
mikrobus_logWrite("-- V ( Violet data ) :",_LOG_TEXT);
mikrobus_logWrite(fText,_LOG_LINE);
Delay_1sec();
}
The full application code, and ready to use projects can be found on our Libstock page.
mikroE Libraries used in the example:
•
UART Library
•
Conversions Library
•
C_String Library
•
I2C Library
Additional notes and information
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.
Downloads
mikroBUS™ Standard specification
LibStock: mikroSDK
Libstock: Spectral 2 click library
AS7262 datasheet
Spectral 2 click schematic
Spectral 2 click: 2D and 3D files
https://www.mikroe.com/spectral-2-click 4-17-18