Tabla de contenido:

Medición de temperatura con MCP9803 y Raspberry Pi: 4 pasos
Medición de temperatura con MCP9803 y Raspberry Pi: 4 pasos

Video: Medición de temperatura con MCP9803 y Raspberry Pi: 4 pasos

Video: Medición de temperatura con MCP9803 y Raspberry Pi: 4 pasos
Video: COMUNICAÇÃO SPI e I2C PIC18 2024, Mes de julio
Anonim
Image
Image

MCP9803 es un sensor de temperatura de alta precisión de 2 cables. Están incorporados con registros programables por el usuario que facilitan las aplicaciones de detección de temperatura. Este sensor es adecuado para un sistema de monitoreo de temperatura multizona altamente sofisticado.

En este tutorial se demuestra la interfaz del módulo sensor MCP9803 con raspberry pi y también se ha ilustrado su programación utilizando lenguaje Java. 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. MCP9803

2. Frambuesa pi

3. Cable I2C

4. Escudo I2C para raspberry pi

5. Cable Ethernet

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 la Raspberry Pi. 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 MCP9803 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

La ventaja de usar raspberry pi es que le brinda la flexibilidad del lenguaje de programación en el que desea programar la placa para conectar el sensor con ella. Aprovechando esta ventaja de esta placa, estamos demostrando aquí que está programando en Java. El código java para MCP9803 se puede descargar de nuestra comunidad de Github que es Dcube Store.

Además de para la facilidad de los usuarios, aquí también explicamos el código:

Como primer paso de la codificación, debe descargar la biblioteca pi4j en el caso de Java porque esta biblioteca admite las funciones utilizadas en el código. Entonces, para descargar la biblioteca puede visitar el siguiente enlace:

pi4j.com/install.html

También puede copiar el código Java de trabajo para este sensor desde aquí:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

importar java.io. IOException; clase pública MCP9803

{

public static void main (String args ) arroja una excepción

{

// Crear bus I2C

Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Obtener el dispositivo I2C, la dirección I2C del MCP9803 es 0x48 (72)

Dispositivo I2CDevice = Bus.getDevice (0x48);

// Seleccionar registro de configuración

// Modo de conversión continua, encendido, modo comparador, resolución de 12 bits

device.write (0x01, (byte) 0x60);

Hilo.sueño (500);

// Leer 2 bytes de datos de la dirección 0x00 (0)

// temp msb, temp lsb

byte datos = nuevo byte [2];

device.read (0x00, datos, 0, 2);

// Convierte los datos a 12 bits

int temp = ((datos [0] y 0xFF) * 256 + (datos [1] y 0xF0)) / 16;

si (temp> 2047)

{

temp - = 4096;

}

doble cTemp = temp * 0.0625;

fTemp doble = cTemp * 1.8 + 32;

// Salida de datos a la pantalla

System.out.printf ("La temperatura en grados Celsius es:%.2f C% n", cTemp);

System.out.printf ("La temperatura en Fahrenheit es:%.2f F% n", fTemp);

}

}

La biblioteca que facilita la comunicación i2c entre el sensor y la placa es pi4j, sus diversos paquetes I2CBus, I2CDevice e I2CFactory ayudan a establecer la conexión.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

Las funciones write () y read () se utilizan para escribir algunos comandos particulares en el sensor para que funcione en un modo particular y lea la salida del sensor respectivamente.

La salida del sensor también se muestra en la imagen de arriba.

Paso 4: Aplicaciones:

Aplicaciones
Aplicaciones

MCP9803 se puede emplear en una amplia gama de dispositivos que incluyen computadoras personales y periféricos, unidades de disco duro, varios sistemas de entretenimiento, sistemas de oficina y sistemas de comunicación de datos. Este sensor se puede incorporar en varios sistemas sofisticados.

Recomendado: