LED Driver 3 click
PID: MIKROE-2950
Weight: 30 g
Perfect control over RBG LEDs
LED Driver 3 click is an RGB LED driver, capable of driving RGB LEDs with up to 30mA per
segment, via the digital I2C interface. It comes with an RGB LED onboard, and is capable of
displaying a palette of 32768 colors. It features an integrated circuit with three
independent LED driver sections and a programmable gradual dimming control, which
gives a smooth dimming effect. Heat dissipation is taken to the minimum, due to a fact that
the used driver IC works with up to 94% efficiency.
LED Driver 3 click can be used in a range of different applications: color backlight displays,
backlit computer keyboards and mice, color-coded signalization, and in many decorative
colored lighting applications, which can be controlled by an MCU.
How does it work?
The main component of LED Driver 3 click is the NCP5623B, a triple output RGB LED
driver, controlled through the I2C protocol, from ON Semiconductors. This IC is equipped
with an internal DC/DC converter, that works as a high-efficiency charge pump, providing
the required DC voltage for all three LED segments. The current flow through each LED
segment is regulated by an internal current mirror, associated with each of the channels.
The gradual dimming function allows an easy way of dimming RGB LED intensity. With a
simple I2C command, it is possible to trigger either upward or downward dimming.
Dimming will affect the current through the LED segments, but the internal current limiter
takes care not to exceed the maximum allowed current, set by the onboard resistor.
The integrated PWM operates with five bits, having 32 steps to cover the full modulation (0
to 100%) of the associated LED channel. Having a value of 0x00h will turn the associated
LED completely OFF, while 0x1Fh will set the LED to a programmed LED current value. The
last three bits (MSB) are used to set the desired command register: PWM1, PWM2, PWM3,
dimming direction, gradual dimming, LED current, etc. It should be noted that the gradual
dimming function affects the illumination by changing the LED current intensity, while
PWM affects the associated LED illumination by changing the pulse width - e.g. it is possible
to set the desired color by setting the PWM modulation of each color component, and then
gradually dim the brightness of the final color mix up or down by the gradual dimming
option - affecting the current through all the LED segments simultaneously. It is also
possible to set the fixed value for the current through the LED segments via the I2C
interface, when gradual dimming is not needed.
More information about the registers and their usage can be found in the NCP5623B
datasheet. However, the provided click library offers easy to use functions for setting up
the RGB color of the LED and utilizing the smooth gradient functions. The included example
application demonstrates the functionality and usage of these libraries. The example can be
used as a reference for custom projects.
To allow operation on both 3.3V and 5V MCUs, LED Driver 3 click employs PCA9306, a dual
bidirectional I2C/SMBUS voltage level translator from Texas Instruments. This IC allows
the click board to be interfaced with both 3.3V and 5V MCUs. The logic voltage level shifting
is done automatically, so no SMD jumpers are needed in this case. Both 3.3V and 5V rails
are needed for this circuit to be operational.
The click board is also equipped with an RGB LED. This is a high brightness RGB LED with a
wide viewing angle, that can get very hot and bright while operated with maximum
current. For this reason, a care must be taken not to touch it or watch directly at the LED.
SCL1 and SDA1 lines from the I2C level shifter are routed to the standard mikroBUS™ I2C
pins, labeled as SCL and SDA. The click board™ already contains pull-up resistors, so no
additional parts are needed to work with the click board.
Specifications
Type
Boost
Applications
LED Driver 3 click can be used for color backlight displays, backlit
computer keyboards and mice, color-coded signalization, and in
many decorative colored lighting applications, which can be
controlled by the MCU.
On-board
modules
NCP5623B, a triple output RGB LED driver, controlled through the
I2C protocol, from ON Semiconductors.
Key Features
Led Driver 3 features an integrated circuit with three independent
LED driver sections and a programmable gradual dimming control,
which gives a smooth dimming effect. It can display 32768
different colors.
Interface
I2C
Input
Voltage
3.3V,5V
Click board
size
M (42.9 x 25.4 mm)
Pinout diagram
This table shows how the pinout on LED Driver 3 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
NC
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
+3V3
7
3.3V
5V
10
+5V
Power Supply
Ground
GND
8
GND
GND
9
GND
Ground
Onboard settings and indicators
Label
LD1
Name
Default
PWR
-
Description
Power indication LED
Software support
We provide a library for LED Driver 3 click on our Libstock page, as well as a demo
application (example), developed using MikroElektronika compilers and mikroSDK. The
provided click library is mikroSDK standard compliant. The demo application can run on all
the main MikroElektronika development boards.
Library Description
The library carries functions necessary to have complete control over all functionalities of
the Click board™.
Key functions:
•
•
void leddriver3_setIntensity(uint8_t intensity) - Set intensity of LED light.
void leddriver3_setRGB_Color(uint8_t red, uint8_t green, uint8_t blue) - Set color in
RGB format.
•
void leddriver3_setColor(uint32_t color) - Set color using one of the predefined values.
Examples Description
The demo application is composed of three sections:
•
System Initialization - Initializes I2C module used for LED Driver 3 click.
•
Application Initialization - Driver initialization.
•
Application Task - (code snippet) - Sequentially changes intensity and color of the LED light with
delays of one second between each operation.
void applicationTask()
{
leddriver3_setIntensity(_LEDDRIVER3_INCREMENT | _LEDDRIVER3_INTENSITY_8);
leddriver3_setTimer(_LEDDRIVER3_TIMER_8ms | _LEDDRIVER3_TIMER_16ms); // 24 ms
leddriver3_setColor(_LEDDRIVER3_COLOR_RED);
Delay_1sec();
leddriver3_setIntensity(_LEDDRIVER3_CONSTANT | _LEDDRIVER3_INTENSITY_16);
leddriver3_setColor(_LEDDRIVER3_COLOR_YELLOW);
Delay_1sec();
leddriver3_setColor(_LEDDRIVER3_COLOR_BLUE);
Delay_1sec();
leddriver3_setRGB_Color(0x40, 0x7F, 0x80);
Delay_1sec();
}
The full application code, and ready to use projects can be found on our Libstock page.
Other mikroE Libraries used in the example:
•
I2C
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: LED Driver 3 click
NCP5623B datasheet
LED Driver 3 click schematic
LED Driver 3 click: 2D and 3D files
https://www.mikroe.com/led-driver-3-click 3-27-18