oledb  2.0.0.0
Main Page

OLED B click

OLED B click carries a 96 x 39px blue monochrome passive matrix OLED display. The display is bright, has a wide viewing angle and low power consumption.

click Product page


Click library

  • Author : Stefan Ilic
  • Date : Jun 2021.
  • Type : I2C/SPI type

Software Support

We provide a library for the OLEDB 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 OLEDB Click driver.

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use (control) of the OLED B display.

The demo application is composed of two sections :

Application Init

Configures the microcontroller for communication and initializes the click board to default state.

void application_init ( void ) {
log_cfg_t log_cfg;
oledb_cfg_t oledb_cfg;
// Logger initialization.
LOG_MAP_USB_UART( log_cfg );
log_cfg.level = LOG_LEVEL_DEBUG;
log_cfg.baud = 115200;
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
oledb_cfg_setup( &oledb_cfg );
OLEDB_MAP_MIKROBUS( oledb_cfg, MIKROBUS_1 );
err_t init_flag = oledb_init( &oledb, &oledb_cfg );
if ( ( I2C_MASTER_ERROR == init_flag ) || ( SPI_MASTER_ERROR == init_flag ) ) {
log_error( &logger, " Application Init Error. " );
log_info( &logger, " Please, run program again... " );
for ( ; ; );
}
oledb_default_cfg ( &oledb );
log_info( &logger, " Application Task " );
}

Application Task

This section contains the main program that is executed showing a practical example on how to use the implemented functions.

void application_task ( void ) {
uint8_t i;
Delay_ms( 500 );
Delay_ms( 500 );
Delay_ms( 500 );
Delay_ms( 500 );
Delay_ms( 300 );
for (i = 0xAF; i > 0x00; i--) {
oledb_set_contrast( &oledb, i );
Delay_ms( 5 );
}
for (i = 0x00; i < 0xAF; i++) {
oledb_set_contrast( &oledb, i );
Delay_ms( 5 );
}
oledb_scroll_right( &oledb, 0x00, 0x05 );
Delay_ms( 1000 );
oledb_stop_scroll( &oledb );
oledb_scroll_left( &oledb, 0x00, 0x05 );
Delay_ms( 1000 );
oledb_stop_scroll( &oledb );
oledb_scroll_diag_right( &oledb, 0x00, 0x05 );
Delay_ms( 1000 );
oledb_stop_scroll( &oledb );
oledb_scroll_diag_left( &oledb, 0x00, 0x05 );
Delay_ms( 1000 );
oledb_stop_scroll( &oledb );
}

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.OLEDB

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.


oledb_init
err_t oledb_init(oledb_t *ctx, oledb_cfg_t *cfg)
Click Initialization function.
oledb_scroll_left
void oledb_scroll_left(oledb_t *ctx, oledb_data_t start_page_addr, oledb_data_t end_page_addr)
Scroll Left function.
oledb_send
err_t oledb_send(oledb_t *ctx, oledb_data_t tx_data, oledb_data_mode_t data_mode)
Send function.
OLEDB_MAP_MIKROBUS
#define OLEDB_MAP_MIKROBUS(cfg, mikrobus)
Definition: oledb.h:126
oledb_data_t
uint8_t oledb_data_t
Definition: oledb.h:146
oledb_cfg_setup
void oledb_cfg_setup(oledb_cfg_t *cfg)
Configuration Object Setup function.
oledb_cfg_t
Click configuration structure definition.
Definition: oledb.h:186
OLEDB_NORMALDISPLAY
#define OLEDB_NORMALDISPLAY
Definition: oledb.h:61
application_task
void application_task(void)
Definition: main.c:56
oledb_display_picture
void oledb_display_picture(oledb_t *ctx, oledb_resources_t *pic)
Display Picture function.
oledb_scroll_diag_left
void oledb_scroll_diag_left(oledb_t *ctx, oledb_data_t start_page_addr, oledb_data_t end_page_addr)
Scroll Diagonally Left function.
oledb_scroll_right
void oledb_scroll_right(oledb_t *ctx, oledb_data_t start_page_addr, oledb_data_t end_page_addr)
Scroll Right function.
oledb_stop_scroll
void oledb_stop_scroll(oledb_t *ctx)
Stop Scrolling function.
oledb_s
Click context object definition.
Definition: oledb.h:161
OLEDB_COMMAND
#define OLEDB_COMMAND
Definition: oledb.h:86
oledb_data_mode_t
uint8_t oledb_data_mode_t
Definition: oledb.h:147
OLEDB_INVERTDISPLAY
#define OLEDB_INVERTDISPLAY
Definition: oledb.h:64
application_init
void application_init(void)
Definition: main.c:30
oledb_img
oledb_resources_t oledb_img[480]
Memory buffer for 96x39 OLED monochrome module.
Definition: resources.h:6
oledb_scroll_diag_right
void oledb_scroll_diag_right(oledb_t *ctx, oledb_data_t start_page_addr, oledb_data_t end_page_addr)
Scroll Diagonally Right function.
oledb_default_cfg
void oledb_default_cfg(oledb_t *ctx)
Click Default Configuration function.
err_t
#define err_t
Definition: oledb.h:107
oledb_set_contrast
void oledb_set_contrast(oledb_t *ctx, oledb_data_t value)
Contrast Setting function.
oledb_resources_t
const uint8_t oledb_resources_t
Definition: oledb.h:149