audioamp9 2.1.0.0
Main Page

AudioAmp 9 click

‍AudioAMP 9 Click is a compact add-on board reproducing input audio signals with desired volume and power levels at sound-producing output elements. This board features the PAM8124, a 10W efficient, Class-D audio power amplifier from Diodes Incorporated for driving stereo speakers in a single-ended configuration.

click Product page


Click library

  • Author : Stefan Ilic
  • Date : Jan 2023.
  • Type : GPIO type

Software Support

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

Standard key functions :

Example key functions :

Example Description

‍This example demonstrates the use of the AudioAmp 9 Click board by changing the gain level.

The demo application is composed of two sections :

Application Init

‍Initializes the driver and performs default configuration putting AudioAmp 9 Click into Gain 1 mode with unmuted output.

void application_init ( void )
{
log_cfg_t log_cfg;
audioamp9_cfg_t audioamp9_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
audioamp9_cfg_setup( &audioamp9_cfg );
AUDIOAMP9_MAP_MIKROBUS( audioamp9_cfg, MIKROBUS_1 );
if ( DIGITAL_OUT_UNSUPPORTED_PIN == audioamp9_init( &audioamp9, &audioamp9_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
audioamp9_default_cfg ( &audioamp9 );
log_info( &logger, " Application Task " );
}
#define AUDIOAMP9_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition audioamp9.h:83
void application_init(void)
Definition main.c:30

Application Task

‍Controlling the volume of the speaker by setting the gain level, and increasing it every 5 seconds until the maximum level is reached, then the sound is muted for 5 seconds.

void application_task ( void )
{
for ( uint8_t vol_lvl = AUDIOAMP9_GAIN_LEVEL1; vol_lvl <= AUDIOAMP9_GAIN_LEVEL4; vol_lvl++ )
{
audioamp9_set_gain_level( &audioamp9, vol_lvl );
log_printf( &logger, " Volume gain level %d \r\n ", vol_lvl );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
}
log_printf( &logger, " Sound is muted \r\n " );
audioamp9_mute_on( &audioamp9 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
log_printf( &logger, " Sound is unmuted \r\n " );
audioamp9_mute_off( &audioamp9 );
}
#define AUDIOAMP9_GAIN_LEVEL1
AudioAmp 9 gain level setting.
Definition audioamp9.h:62
#define AUDIOAMP9_GAIN_LEVEL4
Definition audioamp9.h:65
void audioamp9_mute_on(audioamp9_t *ctx)
AudioAmp 9 mute on function.
void application_task(void)
Definition main.c:62

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

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.