2x2 RGB click
2x2 RGB Click is a compact add-on board that contains a matrix of 4 “intelligent” RGB elements, forming a 2x2 display screen. This board features the KTD2052A, a 12-channel RGB LED driver from Kinetic Technologies. It is a fully programmable current regulator for up to four RGB LEDs (12 LEDs in total). The LED matrix consists of four LRTB GFTG, a 6-lead in-line MULTILEDs, from ams OSRAM. The LEDs have a 120-degree viewing angle.
click Product page
Click library
- Author : Mikroe Team
- Date : Sep 2023.
- Type : I2C type
Software Support
We provide a library for the 2x2 RGB 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 way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for 2x2 RGB Click driver.
Standard key functions :
c2x2rgb_cfg_setup
Config Object Initialization function.
void c2x2rgb_cfg_setup(c2x2rgb_cfg_t *cfg)
2x2 RGB configuration object setup function.
2x2 RGB Click configuration object.
Definition c2x2rgb.h:240
c2x2rgb_init
Initialization function.
err_t c2x2rgb_init(c2x2rgb_t *ctx, c2x2rgb_cfg_t *cfg)
2x2 RGB initialization function.
2x2 RGB Click context object.
Definition c2x2rgb.h:225
c2x2rgb_default_cfg
Click Default Configuration function.
err_t c2x2rgb_default_cfg(c2x2rgb_t *ctx)
2x2 RGB default configuration function.
Example key functions :
c2x2rgb_set_rgb_led
2x2 RGB set RGB LED function.
err_t c2x2rgb_set_rgb_led(c2x2rgb_t *ctx, uint8_t led_num, uint16_t ired, uint16_t igrn, uint16_t iblu)
2x2 RGB set RGB LED function.
c2x2rgb_set_control
2x2 RGB set control function.
uint8_t ce_temp, uint8_t fade_rate );
err_t c2x2rgb_set_control(c2x2rgb_t *ctx, uint8_t en_mode, uint8_t be_en, uint8_t ce_temp, uint8_t fade_rate)
2x2 RGB set control function.
Example Description
This example demonstrates the use of the 2x2 RGB Click board™ by controlling the color of the LEDs [1-4].
The demo application is composed of two sections :
Application Init
Initialization of SPI module and log UART. After driver initialization, the app executes a default configuration.
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
if ( I2C_MASTER_ERROR ==
c2x2rgb_init( &c2x2rgb, &c2x2rgb_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
log_printf( &logger, "----------------" );
Delay_ms ( 100 );
}
@ C2X2RGB_ERROR
Definition c2x2rgb.h:278
#define C2X2RGB_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition c2x2rgb.h:213
void application_init(void)
Definition main.c:33
Application Task
This simple example shows all LEDs in different colors. These LEDs actually consist of three single-colored LEDs (Red, Green and Blue) in a single package. Various colors can be reproduced by mixing the intensity of each LED.
{
log_printf( &logger, "\r\nRED: " );
{
{
log_printf( &logger, "LD%d ", ( uint16_t ) led_pos );
}
Delay_ms ( 200 );
}
log_printf( &logger, "\r\nGREEN: " );
{
{
log_printf( &logger, "LD%d ", ( uint16_t ) led_pos );
}
Delay_ms ( 200 );
}
log_printf( &logger, "\r\nBLUE: " );
{
{
log_printf( &logger, "LD%d ", ( uint16_t ) led_pos );
}
Delay_ms ( 200 );
}
log_printf( &logger, "\r\nWHITE: " );
{
{
log_printf( &logger, "LD%d ", ( uint16_t ) led_pos );
}
Delay_ms ( 200 );
}
log_printf( &logger, "\r\n----------------" );
}
@ C2X2RGB_OK
Definition c2x2rgb.h:277
#define C2X2RGB_SET_LD1
2x2 RGB LED selection data values.
Definition c2x2rgb.h:112
#define C2X2RGB_SET_LD4
Definition c2x2rgb.h:115
#define C2X2RGB_LED_CURRENT_OFF
2x2 RGB LED current setting data values.
Definition c2x2rgb.h:139
void application_task(void)
Definition main.c:71
#define DEMO_LED_CURRENT
Definition main.c:28
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.2x2RGB
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.