fingerprint3  2.0.0.0
Main Page

Fingerprint 3 click

Fingerprint 3 Click is an adapter Click boardâ„¢, used to interface a compatible Fingerprint Sensor with Two-Color LED Ring with the host MCU.

click Product page


Click library

  • Author : MikroE Team
  • Date : Sep 2020.
  • Type : UART type

Software Support

We provide a library for the Fingerprint3 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 form compilers IDE(recommended way), or downloaded from our LibStock, or found on mikroE github account.

Library Description

This library contains API for Fingerprint3 Click driver.

Standard key functions :

Example key functions :

  • Take image function.

    uint8_t fingerprint3_take_image ( fingerprint3_t *ctx );

  • Aura LED control function.

    uint8_t fingerprint3_aura_control ( fingerprint3_t *ctx, uint8_t control, uint8_t speed, uint8_t color, uint8_t times );

  • Finger indicator function.

    uint8_t fingerprint3_finger_indicator ( fingerprint3_t *ctx );

Examples Description

This example reads and processes data from Fingerprint 3 clicks.

The demo application is composed of two sections :

Application Init

Initializes the driver, configures the sensor, and enrolls fingerprints.

void application_init ( void )
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, "---- Application Init ----" );
Delay_ms( 100 );
// Click initialization.
FINGERPRINT3_MAP_MIKROBUS( cfg, MIKROBUS_1 );
err_t init_flag = fingerprint3_init( &fingerprint3, &cfg );
if ( init_flag == UART_ERROR )
{
log_error( &logger, " Application Init Error. " );
log_info( &logger, " Please, run program again... " );
for ( ; ; );
}
Delay_ms( 100 );
display_error( "Set Config" );
Delay_ms( 500 );
error_check = fingerprint3_soft_reset ( &fingerprint3 );
display_error( "Soft Reset" );
Delay_ms( 500 );
display_error( "Check Sensor" );
Delay_ms( 500 );
display_error( "Empty the Library" );
Delay_ms( 500 );
uint8_t cnt = 0;
do
{
log_printf( &logger, " >>> Register fingerprint %u of %u <<<\r\n", ( uint16_t ) cnt + 1,
( uint16_t ) NUMBER_OF_FINGERPRINTS );
log_printf( &logger, "--------------------------------- \r\n" );
error_check = enroll_finger ( &fingerprint3, LOCATION_IN_LIBRARY + cnt, NUMBER_OF_IMAGES );
display_error( "Enroll finger" );
{
log_printf( &logger, " Please enroll your fingerprint again.\r\n" );
log_printf( &logger, "--------------------------------- \r\n" );
}
else
{
cnt++;
}
Delay_ms( 1000 );
}
}

Application Task

Takes an image of the finger, then checks if there's a fingerprint in the library that matches the one it has just read. All data is being logged on the USB UART.

void application_task ( void )
{
search_finger( &fingerprint3 );
}

The full application code, and ready to use projects can be installed directly form compilers IDE(recommneded) or found on LibStock page or mikroE GitHub accaunt.

Other mikroE Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.Fingerprint3

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.


fingerprint3_soft_reset
uint8_t fingerprint3_soft_reset(fingerprint3_t *ctx)
Soft reset function.
FINGERPRINT3_DEFAULT_ADDRESS
#define FINGERPRINT3_DEFAULT_ADDRESS
Definition: fingerprint3.h:154
NUMBER_OF_IMAGES
#define NUMBER_OF_IMAGES
Definition: main.c:38
application_task
void application_task(void)
Definition: main.c:173
NUMBER_OF_FINGERPRINTS
#define NUMBER_OF_FINGERPRINTS
Definition: main.c:37
LOCATION_IN_LIBRARY
#define LOCATION_IN_LIBRARY
Definition: main.c:36
fingerprint3_check_sensor
uint8_t fingerprint3_check_sensor(fingerprint3_t *ctx)
Check sensor function.
fingerprint3_empty_library
uint8_t fingerprint3_empty_library(fingerprint3_t *ctx)
Empty the library function.
fingerprint3_init
FINGERPRINT3_RETVAL fingerprint3_init(fingerprint3_t *ctx, fingerprint3_cfg_t *cfg)
Initialization function.
application_init
void application_init(void)
Definition: main.c:101
FINGERPRINT3_DEFAULT_PASSWORD
#define FINGERPRINT3_DEFAULT_PASSWORD
Definition: fingerprint3.h:155
FINGERPRINT3_MAP_MIKROBUS
#define FINGERPRINT3_MAP_MIKROBUS(cfg, mikrobus)
Definition: fingerprint3.h:53
FINGERPRINT3_OK
#define FINGERPRINT3_OK
Definition: fingerprint3.h:66
fingerprint3_set_config
uint8_t fingerprint3_set_config(fingerprint3_t *ctx, uint32_t addr, uint32_t pass)
Set config function.
error_check
uint8_t error_check
Definition: main.c:43
fingerprint3_cfg_setup
void fingerprint3_cfg_setup(fingerprint3_cfg_t *cfg)
Config Object Initialization function.
fingerprint3_cfg_t
Click configuration structure definition.
Definition: fingerprint3.h:309