buzzer  2.1.0.0
Main Page

Buzzer click

Buzzer Click is a compact add-on board for generating sound signals in various electronic applications. This board features the CPT-7502-65-SMT-TR, a piezoelectric buzzer transducer from CUI Devices, known for its efficient sound output and compact surface-mount design. The buzzer offers a sound pressure level of 65dB and consumes only 1mA of current, making it ideal for battery-powered devices. The board also features the MIKROE 'Click Snap' function, allowing for flexible installation and autonomous operation.

click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Aug 2024.
  • Type : PWM type

Software Support

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

Standard key functions :

Example key functions :

  • buzzer_play_sound This function plays sound on the buzzer.
    err_t buzzer_play_sound ( buzzer_t *ctx, uint16_t freq, uint8_t level, uint16_t duration );

Example Description

This example demonstrates the use of Buzzer click board by playing the Imperial March melody on the buzzer.

The demo application is composed of two sections :

Application Init

Initializes the driver and logger.

void application_init ( void )
{
log_cfg_t log_cfg;
buzzer_cfg_t buzzer_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
buzzer_cfg_setup( &buzzer_cfg );
BUZZER_MAP_MIKROBUS( buzzer_cfg, MIKROBUS_1 );
if ( PWM_ERROR == buzzer_init( &buzzer, &buzzer_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

Plays the Imperial March melody. Also logs an appropriate message on the USB UART.

void application_task ( void )
{
log_printf( &logger, " Playing the Imperial March melody...\r\n" );
buzzer_imperial_march( BUZZER_VOLUME_MAX );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
}

Note

The minimal PWM Clock frequency required for this example is the frequency of tone C6 - 1047 Hz.

So, in order to run this example and play all tones correctly, the user will need to decrease the MCU's main clock frequency in MCU Settings for the certain architectures in order to get the required PWM clock frequency.

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

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.


buzzer_cfg_setup
void buzzer_cfg_setup(buzzer_cfg_t *cfg)
Buzzer configuration object setup function.
application_task
void application_task(void)
Definition: main.c:74
buzzer_play_sound
err_t buzzer_play_sound(buzzer_t *ctx, uint16_t freq, uint8_t level, uint16_t duration)
Buzzer play sound function.
buzzer_t
Buzzer Click context object.
Definition: buzzer.h:200
buzzer_init
err_t buzzer_init(buzzer_t *ctx, buzzer_cfg_t *cfg)
Buzzer initialization function.
application_init
void application_init(void)
Definition: main.c:44
buzzer_cfg_t
Buzzer Click configuration object.
Definition: buzzer.h:214
BUZZER_VOLUME_MAX
#define BUZZER_VOLUME_MAX
Definition: buzzer.h:171
BUZZER_MAP_MIKROBUS
#define BUZZER_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: buzzer.h:189