Índice:

Monitoramento de temperatura usando MCP9808 e fóton de partículas: 4 etapas
Monitoramento de temperatura usando MCP9808 e fóton de partículas: 4 etapas

Vídeo: Monitoramento de temperatura usando MCP9808 e fóton de partículas: 4 etapas

Vídeo: Monitoramento de temperatura usando MCP9808 e fóton de partículas: 4 etapas
Vídeo: Particle Photon DS18B20 IoT Temperature Monitor 2024, Julho
Anonim
Image
Image

O MCP9808 é um sensor de temperatura digital de alta precisão ± 0,5 ° C minimódulo I2C. Eles são incorporados a registros programáveis pelo usuário que facilitam as aplicações de detecção de temperatura. O sensor de temperatura de alta precisão MCP9808 tornou-se um padrão da indústria em termos de fator de forma e inteligência, fornecendo sinais de sensor linearizados e calibrados em formato digital I2C.

Neste tutorial, a interface do módulo do sensor MCP9808 com o fóton de partícula foi demonstrada. 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. MCP9808

2. Partícula de fóton

3. Cabo I2C

4. Escudo I2C para partícula de fóton

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 fóton da partícula. 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 MCP9808 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

Vamos começar com o código da partícula agora.

Ao usar o módulo sensor com o arduino, incluímos as bibliotecas application.h e spark_wiring_i2c.h. A biblioteca "application.h" e spark_wiring_i2c.h contém as funções que facilitam a comunicação i2c entre o sensor e a partícula.

Todo o código da partícula é fornecido abaixo para a conveniência do usuário:

#incluir

#incluir

// O endereço MCP9808 I2C é 0x18 (24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

void setup ()

{

// Definir variável

Particle.variable ("i2cdevice", "MCP9808");

Particle.variable ("cTemp", cTemp);

// Inicializar a comunicação I2C como MASTER

Wire.begin ();

// Inicialize a comunicação serial, defina a taxa de transmissão = 9600

Serial.begin (9600);

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr);

// Selecionar registro de configuração

Wire.write (0x01);

// Modo de conversão contínua, padrão de inicialização

Wire.write (0x00);

Wire.write (0x00);

// Pare a transmissão I2C

Wire.endTransmission ();

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr);

// Selecione o registro de resolução

Wire.write (0x08);

// Resolução = +0,0625 / C

Wire.write (0x03);

// Pare a transmissão I2C

Wire.endTransmission ();

atraso (300);

}

void loop ()

{

dados internos não assinados [2];

// Inicia a comunicação I2C

Wire.beginTransmission (Addr);

// Selecione o registro de dados

Wire.write (0x05);

// Pare a transmissão I2C

Wire.endTransmission ();

// Solicita 2 bytes de dados

Wire.requestFrom (Addr, 2);

// Lê 2 bytes de dados

// temp msb, temp lsb

if (Wire.available () == 2)

{

dados [0] = Wire.read ();

dados [1] = Wire.read ();

}

atraso (300);

// Converta os dados para 13 bits

int temp = ((dados [0] e 0x1F) * 256 + dados [1]);

if (temp> 4095)

{

temp - = 8192;

}

cTemp = temp * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Saída de dados para o painel

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

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

atraso (500);

}

A função Particle.variable () cria as variáveis para armazenar a saída do sensor e a função Particle.publish () exibe a saída no painel do site.

A saída do sensor é mostrada na imagem acima para sua referência.

Etapa 4: Aplicativos:

Formulários
Formulários

O sensor digital de temperatura MCP9808 tem várias aplicações de nível industrial que incorporam freezers e refrigeradores industriais, juntamente com vários processadores de alimentos. Este sensor pode ser empregado em vários computadores pessoais, servidores e outros periféricos de PC.

Recomendado: