i2c-ntc-temp-read.ino
Reading NTC temperature sensor connected via I2C ADC converter.
Assumes ADS1115 sensor at address 0x48. SCL/SDA pins need pull-ups. Thermal conversion depends on specific NTC circuit. Adapt conversion formula to your thermistor resistance.
i2c-ntc-temp-read.ino
#include <zephyr/kernel.h>
#include <zephyr/drivers/i2c.h>
#define I2C_NODE DT_ALIAS(i2c0)
#define ADDR 0x48
static const struct device *i2c_dev = DEVICE_DT_GET(I2C_NODE);
void main(void) {
uint8_t buf[2];
while (1) {
if (i2c_write_read(i2c_dev, ADDR, (uint8_t[]){0x85}, 1, buf, 2) == 0) {
int16_t raw = (buf[0] << 8) | buf[1];
float temp = raw * 0.0625f - 50.0f; // Exemple conversion
printk("NTC Temp: %.2f C\n", temp);
}
k_msleep(1000);
}
}