tilt4  2.1.0.0
Main Page

Tilt 4 Click

Tilt 4 Click is a compact add-on board designed for reliable tilt detection applications. This board features the RB-231X2, a rolling ball tilt switch from C&K Components, ensuring accurate and safe tilt detection. The RB-231X2 features a compact, shielded design with a detection angle of up to 10° and an operating life of 100,000 cycles. It interfaces with the MCU using only the INT and LED pins, providing real-time interrupt signals and visual tilt indication through a red LED.

Click Product page


Click library

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

Software Support

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

Standard key functions :

Example key functions :

  • tilt4_read_int_state This function reads the state of the interrupt pin of Tilt 4 Click board.
    uint8_t tilt4_read_int_state ( tilt4_t *ctx );
  • tilt4_set_led_state This function sets the LED pin on the selected level level of Tilt 4 Click board.
    void tilt4_set_led_state ( tilt4_t *ctx, uint8_t pin_state );

Example Description

This example demonstrates the use of Tilt 4 Click board.

The demo application is composed of two sections :

Application Init

Initializes the driver and USB UART logger.

void application_init ( void )
{
log_cfg_t log_cfg;
tilt4_cfg_t tilt4_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
tilt4_cfg_setup( &tilt4_cfg );
TILT4_MAP_MIKROBUS( tilt4_cfg, MIKROBUS_1 );
if ( DIGITAL_OUT_UNSUPPORTED_PIN == tilt4_init( &tilt4, &tilt4_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

As soon as the tilt switch state changes, it displays a corresponding message on the USB UART.

void application_task ( void )
{
uint8_t state = tilt4_read_int_state ( &tilt4 );
if ( tilt4_switch_state != state )
{
tilt4_switch_state = state;
if ( TILT4_SWITCH_ON == tilt4_switch_state )
{
log_printf( &logger, " Tilt switch ON!\r\n\n" );
}
else
{
log_printf( &logger, " Tilt switch OFF!\r\n\n" );
}
Delay_ms ( 500 );
}
}

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

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.


TILT4_SWITCH_ON
#define TILT4_SWITCH_ON
Definition: tilt4.h:75
tilt4_t
Tilt 4 Click context object.
Definition: tilt4.h:105
tilt4_read_int_state
uint8_t tilt4_read_int_state(tilt4_t *ctx)
Tilt 4 Interrupt pin reading function.
application_task
void application_task(void)
Definition: main.c:59
TILT4_PIN_STATE_LOW
#define TILT4_PIN_STATE_LOW
Definition: tilt4.h:68
application_init
void application_init(void)
Definition: main.c:29
tilt4_init
err_t tilt4_init(tilt4_t *ctx, tilt4_cfg_t *cfg)
Tilt 4 initialization function.
tilt4_set_led_state
void tilt4_set_led_state(tilt4_t *ctx, uint8_t pin_state)
Tilt 4 LED pin setting function.
tilt4_cfg_t
Tilt 4 Click configuration object.
Definition: tilt4.h:117
TILT4_MAP_MIKROBUS
#define TILT4_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: tilt4.h:93
TILT4_PIN_STATE_HIGH
#define TILT4_PIN_STATE_HIGH
Tilt 4 description setting.
Definition: tilt4.h:67
tilt4_cfg_setup
void tilt4_cfg_setup(tilt4_cfg_t *cfg)
Tilt 4 configuration object setup function.