Accel 22 Click Board
Accel 22 Click Board
Key Features
- Low power consumption, high-performance, high resolution, single/double tap detection, adjustable threshold sleep/wake-up modes for motion activation, configurable interrupts, integrated temperature sensor, external analog signal connection, and more
- Based on the ADXL367 - three-axis MEMS accelerometer from Analog Devices
- Can be used for various applications such as motion-activated functions and user interfaces and many asset monitoring functions in a wide range of industrial applications
- mikroBUS: I2C and SPI Interfaces
Overview
The Accel 22 Click Board™ is a compact add-on board that contains an acceleration sensor. This board features the ADXL367, an ultra-low-power, high-performance three-axis accelerometer from Analog Devices. The ADXL367 allows selectable full-scale acceleration measurements in ranges of ±2g, ±4g, and ±8g in three axes, with a resolution of 0.25 mg/LSB on the ±2g range, alongside a configurable host interface that supports both SPI and I2C serial communication. This device combines a 3-axis MEMS accelerometer, a temperature sensor, and a 14-bit analog-to-digital converter (ADC) to synchronize an external analog signal conversion. This Click board™ is suitable for various applications such as motion-activated functions and user interfaces and many asset monitoring functions in a wide range of industrial applications.
The Accel 22 Click Board™ is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket.
How Does The Accel 22 Click Board™ Work?
The Accel 22 Click Board™ as its foundation uses the ADXL367, a complete 3-axis acceleration measurement system that operates at low power consumption levels, consisting as well of an ADC for synchronous conversion of input from a third sensor and a temperature sensor from Analog Devices. It measures both dynamic accelerations, resulting from motion or shock, and static acceleration, such as tilt, and allows selectable full-scale acceleration measurements in ranges of ±2g, ±4g, and ±8g with a resolution of 0.25mg/LSB on the ±2g range. Acceleration is reported digitally, communicating via either the SPI or the I2C protocol and providing 14-bit output resolution.
The ADXL367 has three operating modes: Measurement mode for continuous wide-bandwidth sensing, Wake-up mode for limited bandwidth activity detection, and Standby mode for power conservation. Measurement mode represents its normal operating mode, and in this mode, acceleration data is read continuously, while the Wake-Up mode is ideal for simple detection of the presence or absence of motion at low power consumption. Wake-up mode helps implement a motion-activated ON/OFF switch, allowing the rest of the system to Power-Down until the activity is detected. In addition, the Standby mode suspends measurement and reduces power consumption.
The Accel 22 Click Board™ allows using both I2C and SPI interfaces. The selection can be made by positioning SMD jumpers labelled as COMM SEL in an appropriate position. Note that all the jumpers' positions must be on the same side, or the Click board™ may become unresponsive. While the I2C interface is selected, the ADXL367 allows choosing the least significant bit (LSB) of its I2C slave address using the SMD jumper labelled ADDR SEL.
The Accel 22 Click Board™ also possesses two register-configurated interrupt pins, I1 and I2, routed to the INT and AN pins on the mikroBUS™, which has a dual function that can trigger interrupts to alert the host of certain status conditions. They can be used as classic interrupt pins to signal MCU that an event has been sensed or can be used, e.g., I1 as an input for external clocking and I2 as input for synchronized sampling. One or both of these alternate functions can be used concurrently; however, if an interrupt pin is used for its alternate function, it cannot simultaneously be used for its primary function, to signal interrupts.
The ADXL367 incorporates a 14-bit analog-to-digital converter (ADC) to digitize the external analog signal, connected to a header at the top of the board, which is unpopulated by default. The ADC converts analog inputs ranging from 10% to 90% of the internally regulated voltage, limiting the external ADC's input range to a maximum of 1V.
The Accel 22 Click Board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.
SPECIFICATIONS
Type | Motion |
Applications | Can be used for various applications such as motion-activated functions and user interfaces and many asset monitoring functions in a wide range of industrial applications |
On-board modules | ADXL367 - three-axis MEMS accelerometer from Analog Devices |
Key Features | Low power consumption, high-performance, high resolution, single/double tap detection, adjustable threshold sleep/wake-up modes for motion activation, configurable interrupts, integrated temperature sensor, external analog signal connection, and more |
Interface | I2C,SPI |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V |
PINOUT DIAGRAM
This table shows how the pinout of the Accel 22 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
Interput 2 | I2 | 1 | AN | PWM | 16 | NC | |
NC | 2 | RST | INT | 15 | I1 | Interrupt 1 | |
SPI Chip Select | CS | 3 | CS | RX | 14 | NC | |
SPI Clock | SCK | 4 | SCK | TX | 13 | NC | |
SPI Data OUT | SDO | 5 | MISO | SCL | 12 | SCL | I2C Clock |
SPI Data IN | SDI | 6 | MOSI | SDA | 11 | SDA | I2C Data |
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | 5V | Power Supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1-JP4 | COMM SEL | Left | Communication Interface Selection SPI/I2C: Left position SPI, Right position I2C |
JP5 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
J1 | - | Unpopulated | External Analog Signal Connection Header |
ACCEL 22 CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | - | 3.3 | - | V |
Acceleration Range | ±2 | - | ±8 | g |
Sensitivity | 4000 | - | 1000 | LSB/g |
Resolution | - | 14 | - | bits |
Operating Temperature Range | -40 | +25 | +85 | °C |
Software Support
We provide a library for the Accel 22 Click Board™ as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on MikroE Github account.
Library Description
This library contains API for the Accel 22 Click Board™ driver.
Key functions
-
accel22_get_axes
This function reads accel X, Y, and Z axis data in mg. -
accel22_get_temperature
This function reads the temperature in Celsius. -
accel22_get_adc
This function reads the ADC voltage.
Example Description
This example demonstrates the use of Accel 22 Click board™ by reading and displaying Accel data (X, Y, and Z axis) as well as temperature and ADC measurements on the USB UART.
void application_task ( void )
{
accel22_axes_t axes;
// Wait for data ready indication
while ( !accel22_get_int1_pin ( &accel22 ) );
if ( ACCEL22_OK == accel22_get_axes ( &accel22, &axes ) )
{
log_printf( &logger, " X: %.2f mgrn", axes.x );
log_printf( &logger, " Y: %.2f mgrn", axes.y );
log_printf( &logger, " Z: %.2f mgrn", axes.z );
}
if ( ACCEL22_OK == accel22_enable_temperature_measurement ( &accel22 ) )
{
float temperature = 0;
// Wait for data ready indication
while ( !accel22_get_int1_pin ( &accel22 ) );
if ( ACCEL22_OK == accel22_get_temperature ( &accel22, &temperature ) )
{
log_printf( &logger, " Temperature: %.2f Crn", temperature );
}
}
if ( ACCEL22_OK == accel22_enable_adc_measurement ( &accel22 ) )
{
float adc_voltage = 0;
// Wait for data ready indication
while ( !accel22_get_int1_pin ( &accel22 ) );
if ( ACCEL22_OK == accel22_get_adc ( &accel22, &adc_voltage ) )
{
log_printf( &logger, " ADC: %.2f Vrnn", adc_voltage );
}
}
Delay_ms ( 100 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on MikroE Github account.
Other MikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Accel22
Additional Notes and Information
Depending on the development board you are using, you may need a 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.
MIKROSDK
The Accel 22 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Software Support
We provide a library for the Accel 22 Click Board™ as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on MikroE Github account.
Library Description
This library contains API for the Accel 22 Click Board™ driver.
Key functions
-
accel22_get_axes
This function reads accel X, Y, and Z axis data in mg. -
accel22_get_temperature
This function reads the temperature in Celsius. -
accel22_get_adc
This function reads the ADC voltage.
Example Description
This example demonstrates the use of Accel 22 Click board™ by reading and displaying Accel data (X, Y, and Z axis) as well as temperature and ADC measurements on the USB UART.
void application_task ( void )
{
accel22_axes_t axes;
// Wait for data ready indication
while ( !accel22_get_int1_pin ( &accel22 ) );
if ( ACCEL22_OK == accel22_get_axes ( &accel22, &axes ) )
{
log_printf( &logger, " X: %.2f mgrn", axes.x );
log_printf( &logger, " Y: %.2f mgrn", axes.y );
log_printf( &logger, " Z: %.2f mgrn", axes.z );
}
if ( ACCEL22_OK == accel22_enable_temperature_measurement ( &accel22 ) )
{
float temperature = 0;
// Wait for data ready indication
while ( !accel22_get_int1_pin ( &accel22 ) );
if ( ACCEL22_OK == accel22_get_temperature ( &accel22, &temperature ) )
{
log_printf( &logger, " Temperature: %.2f Crn", temperature );
}
}
if ( ACCEL22_OK == accel22_enable_adc_measurement ( &accel22 ) )
{
float adc_voltage = 0;
// Wait for data ready indication
while ( !accel22_get_int1_pin ( &accel22 ) );
if ( ACCEL22_OK == accel22_get_adc ( &accel22, &adc_voltage ) )
{
log_printf( &logger, " ADC: %.2f Vrnn", adc_voltage );
}
}
Delay_ms ( 100 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on MikroE Github account.
Other MikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Accel22
Additional Notes and Information
Depending on the development board you are using, you may need a 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.
MIKROSDK
The Accel 22 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.