Tabla de contenido:

Monitoreo de temperatura usando MCP9808 y Particle Photon: 4 pasos
Monitoreo de temperatura usando MCP9808 y Particle Photon: 4 pasos

Video: Monitoreo de temperatura usando MCP9808 y Particle Photon: 4 pasos

Video: Monitoreo de temperatura usando MCP9808 y Particle Photon: 4 pasos
Video: Raspberry Pi SI7050 Temperature Sensor Python Tutorial 2024, Noviembre
Anonim
Image
Image

El MCP9808 es un mini módulo I2C de sensor de temperatura digital de alta precisión ± 0,5 ° C. Están incorporados con registros programables por el usuario que facilitan las aplicaciones de detección de temperatura. El sensor de temperatura de alta precisión MCP9808 se ha convertido en un estándar de la industria en términos de factor de forma e inteligencia, proporcionando señales de sensor calibradas y linealizadas en formato digital I2C.

En este tutorial se ha demostrado la interfaz del módulo sensor MCP9808 con fotones de partículas. Para leer los valores de temperatura, hemos utilizado raspberry pi con un adaptador I2c. Este adaptador I2C hace que la conexión al módulo sensor sea fácil y más confiable.

Paso 1: Hardware necesario:

Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido

Los materiales que necesitamos para lograr nuestro objetivo incluyen los siguientes componentes de hardware:

1. MCP9808

2. Fotón de partículas

3. Cable I2C

4. Escudo I2C para fotones de partículas

Paso 2: Conexión de hardware:

Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware

La sección de conexión de hardware básicamente explica las conexiones de cableado necesarias entre el sensor y el fotón de partículas. Asegurar las conexiones correctas es la necesidad básica al trabajar en cualquier sistema para obtener la salida deseada. Entonces, las conexiones requeridas son las siguientes:

El MCP9808 funcionará sobre I2C. Aquí está el diagrama de cableado de ejemplo, que demuestra cómo cablear cada interfaz del sensor.

Fuera de la caja, la placa está configurada para una interfaz I2C, por lo que recomendamos usar esta conexión si, por lo demás, es agnóstico. ¡Todo lo que necesitas son cuatro cables!

Solo se requieren cuatro conexiones Vcc, Gnd, SCL y pines SDA y estos se conectan con la ayuda del cable I2C.

Estas conexiones se muestran en las imágenes de arriba.

Paso 3: Código para la medición de temperatura:

Código para medición de temperatura
Código para medición de temperatura

Comencemos ahora con el código de partículas.

Mientras usamos el módulo sensor con el arduino, incluimos la biblioteca application.hy spark_wiring_i2c.h. La biblioteca "application.h" y spark_wiring_i2c.h contiene las funciones que facilitan la comunicación i2c entre el sensor y la partícula.

El código de partículas completo se proporciona a continuación para comodidad del usuario:

#incluir

#incluir

// La dirección I2C del MCP9808 es 0x18 (24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

configuración vacía ()

{

// Establecer variable

Particle.variable ("dispositivo i2c", "MCP9808");

Particle.variable ("cTemp", cTemp);

// Inicializar la comunicación I2C como MASTER

Wire.begin ();

// Inicializar la comunicación en serie, configurar la velocidad en baudios = 9600

Serial.begin (9600);

// Iniciar transmisión I2C

Wire.beginTransmission (Addr);

// Seleccionar registro de configuración

Wire.write (0x01);

// Modo de conversión continua, encendido por defecto

Wire.write (0x00);

Wire.write (0x00);

// Detener la transmisión I2C

Wire.endTransmission ();

// Iniciar transmisión I2C

Wire.beginTransmission (Addr);

// Seleccionar resolución rgister

Wire.write (0x08);

// Resolución = +0.0625 / C

Wire.write (0x03);

// Detener la transmisión I2C

Wire.endTransmission ();

retraso (300);

}

bucle vacío ()

{

datos int sin firmar [2];

// Inicia la comunicación I2C

Wire.beginTransmission (Addr);

// Seleccionar registro de datos

Wire.write (0x05);

// Detener la transmisión I2C

Wire.endTransmission ();

// Solicita 2 bytes de datos

Wire.requestFrom (Dirección, 2);

// Leer 2 bytes de datos

// temp msb, temp lsb

si (Cable disponible () == 2)

{

datos [0] = Wire.read ();

datos [1] = Wire.read ();

}

retraso (300);

// Convierte los datos a 13 bits

int temp = ((datos [0] y 0x1F) * 256 + datos [1]);

si (temperatura> 4095)

{

temp - = 8192;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

// Salida de datos al tablero

Particle.publish ("Temperatura en grados Celsius:", String (cTemp));

Particle.publish ("Temperatura en Fahrenheit:", String (fTemp));

retraso (500);

}

La función Particle.variable () crea las variables para almacenar la salida del sensor y la función Particle.publish () muestra la salida en el tablero del sitio.

La salida del sensor se muestra en la imagen de arriba para su referencia.

Paso 4: Aplicaciones:

Aplicaciones
Aplicaciones

El sensor de temperatura digital MCP9808 tiene varias aplicaciones de nivel industrial que incorporan congeladores y refrigeradores industriales junto con varios procesadores de alimentos. Este sensor se puede utilizar para varios ordenadores personales, servidores y otros periféricos de PC.

Recomendado: