Skip to main content

How To: Relay Module

With our Relay Module you can easily control high voltage/current circuits. This module is specially designed to consume low levels of power.

info

The relay consumes power only when changing state.

References

tip

In the example, the Relay I2C address is set as TWR_MODULE_RELAY_I2C_ADDRESS_DEFAULT, you can also use TWR_MODULE_RELAY_I2C_ADDRESS_ALTERNATE if you want to use a second Relay Module on one device.

You will just have to solder the 0-ohm resistor to the second position on the Relay Module.

Example

info

In the example below, the relay on the Relay Module will turn On/Off every time you press the button on the Core Module or Button Module.

Relay Module Pulse Code Example

#include <application.h>

twr_module_relay_t relay;
twr_button_t button;

void button_event_handler(twr_button_t *self, twr_button_event_t event, void *event_param)
{
(void) self;
(void) event_param;

if (event == TWR_BUTTON_EVENT_PRESS)
{
twr_module_relay_toggle(&relay);
}
}

void application_init(void)
{
twr_module_relay_init(&relay, TWR_MODULE_RELAY_I2C_ADDRESS_DEFAULT);
twr_module_relay_set_state(&relay, false);

twr_button_init(&button, TWR_GPIO_BUTTON, TWR_GPIO_PULL_DOWN, false);
twr_button_set_event_handler(&button, button_event_handler, NULL);
}