Skip to main content

How To: Temperature Sensor

The Core Module comes with an integrated temperature sensor TMP112. It is high accuracy and low power sensor connected via I²C bus (see address space).

note

If you want to take a look at how TMP112 is connected, please take a look at the schematics.

References

Integrated Temperature Sensor Code Example

#include <application.h>

twr_tmp112_t temp;

void tmp112_event_handler(twr_tmp112_t *self, twr_tmp112_event_t event, void *event_param)
{
(void) self;
(void) event_param;

if (event == TWR_TMP112_EVENT_UPDATE)
{
float temperature = 0.0;
int16_t rawTemperature = 0;
twr_tmp112_get_temperature_celsius(&temp, &temperature);
twr_tmp112_get_temperature_raw(&temp, &rawTemperature);
twr_log_debug("%.4f °C\r\n%d", temperature, rawTemperature);
}
}

void application_init(void)
{
// initialize logging
twr_log_init(TWR_LOG_LEVEL_DEBUG, TWR_LOG_TIMESTAMP_ABS);

// initialize TMP112 sensor
twr_tmp112_init(&temp, TWR_I2C_I2C0, 0x49);

// set measurement handler (call "tmp112_event_handler()" after measurement)
twr_tmp112_set_event_handler(&temp, tmp112_event_handler, NULL);

// automatically measure the temperature every 5 seconds
twr_tmp112_set_update_interval(&temp, 5000);
}