i2c-ntc-temp-read.ino

BeagleConnect QuadESC: Controlador BLDC de 4 canales · Archivo : i2c-ntc-temp-read.ino · Lenguaje : C · Uso : Lire la température d'un capteur NTC via un ADC I2C externe (ex: ADS1115).

Lectura de un sensor de temperatura NTC conectado vía convertidor ADC I2C.

Asume un sensor ADS1115 en la dirección 0x48. Los pines SCL/SDA necesitan resistencias pull-up. La conversión térmica depende del circuito NTC específico. Adapta la fórmula de conversión a tu resistencia termistor.

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);
    }
}

← Volver a la ficha