Índice:

Medição de temperatura usando MCP9803 e Raspberry Pi: 4 etapas
Medição de temperatura usando MCP9803 e Raspberry Pi: 4 etapas

Vídeo: Medição de temperatura usando MCP9803 e Raspberry Pi: 4 etapas

Vídeo: Medição de temperatura usando MCP9803 e Raspberry Pi: 4 etapas
Vídeo: Как связать промышленные датчики 4–20 мА с ПЛК Raspberry Pi Pico | ПЛК Мицубиси FX1N 2024, Novembro
Anonim
Image
Image

MCP9803 é um sensor de temperatura de alta precisão de 2 fios. Eles são incorporados a registros programáveis pelo usuário que facilitam as aplicações de detecção de temperatura. Este sensor é adequado para sistemas altamente sofisticados de monitoramento de temperatura em várias zonas.

Neste tutorial a interface do módulo sensor MCP9803 com o raspberry pi é demonstrada e sua programação em linguagem Java também foi ilustrada. Para ler os valores de temperatura, usamos raspberry pi com um adaptador I2C. Este adaptador I2C torna a conexão ao módulo do sensor mais fácil e confiável.

Etapa 1: Hardware necessário:

Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário
Hardware necessário

Os materiais de que precisamos para cumprir nosso objetivo incluem os seguintes componentes de hardware:

1. MCP9803

2. Framboesa pi

3. Cabo I2C

4. Escudo I2C para framboesa pi

5. Cabo Ethernet

Etapa 2: Conexão de Hardware:

Conexão de hardware
Conexão de hardware
Conexão de hardware
Conexão de hardware

A seção de conexão de hardware explica basicamente as conexões de fiação necessárias entre o sensor e o raspberry pi. Garantir as conexões corretas é a necessidade básica ao trabalhar em qualquer sistema para a saída desejada. Portanto, as conexões necessárias são as seguintes:

O MCP9803 funcionará em I2C. Aqui está o diagrama de fiação de exemplo, demonstrando como conectar cada interface do sensor.

Fora da caixa, a placa é configurada para uma interface I2C, como tal, recomendamos usar esta conexão se você for agnóstico.

Você só precisa de quatro fios! São necessárias apenas quatro conexões dos pinos Vcc, Gnd, SCL e SDA e estes são conectados com a ajuda do cabo I2C.

Essas conexões são demonstradas nas fotos acima.

Etapa 3: Código para medição de temperatura:

Código para medição de temperatura
Código para medição de temperatura

A vantagem de usar raspberry pi é que proporciona a flexibilidade da linguagem de programação em que se deseja programar a placa para fazer a interface do sensor com ela. Aproveitando essa vantagem dessa placa, estamos demonstrando aqui que ela é programação em Java. O código java para MCP9803 pode ser baixado de nossa comunidade Github que é Dcube Store.

Além da facilidade dos usuários, também explicamos o código aqui:

Como a primeira etapa da codificação, você precisa fazer o download da biblioteca pi4j no caso do java porque essa biblioteca oferece suporte às funções usadas no código. Portanto, para baixar a biblioteca você pode visitar o seguinte link:

pi4j.com/install.html

Você também pode copiar o código Java de trabalho para este sensor aqui:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

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

{

public static void main (String args ) lança exceção

{

// Criar barramento I2C

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

// Obter dispositivo I2C, MCP9803 endereço I2C é 0x48 (72)

Dispositivo I2CDevice = Bus.getDevice (0x48);

// Selecionar registro de configuração

// Modo de conversão contínua, inicialização, modo comparador, resolução de 12 bits

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

Thread.sleep (500);

// Lê 2 bytes de dados do endereço 0x00 (0)

// temp msb, temp lsb

byte dados = novo byte [2];

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

// Converta os dados para 12 bits

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

if (temp> 2047)

{

temp - = 4096;

}

cTemp duplo = temp * 0,0625;

fTemp duplo = cTemp * 1,8 + 32;

// Dados de saída para a tela

System.out.printf ("A temperatura em Celsius é:%.2f C% n", cTemp);

System.out.printf ("A temperatura em Fahrenheit é:%.2f F% n", fTemp);

}

}

A biblioteca que facilita a comunicação i2c entre o sensor e a placa é a pi4j, seus vários pacotes I2CBus, I2CDevice e I2CFactory ajudam a estabelecer a conexão.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

As funções write () e read () são usadas para escrever alguns comandos específicos para o sensor para fazê-lo funcionar em um modo específico e ler a saída do sensor, respectivamente.

A saída do sensor também é mostrada na imagem acima.

Etapa 4: Aplicativos:

Formulários
Formulários

MCP9803 pode ser empregado em uma ampla arena de dispositivos que incluem computador pessoal e periféricos, unidades de disco rígido, vários sistemas de entretenimento, sistemas de escritório e sistemas de comunicação de dados. Este sensor pode ser incorporado em vários sistemas sofisticados.

Recomendado: