Índice:

Particle Photon - Tutorial do sensor de temperatura HDC1000: 4 etapas
Particle Photon - Tutorial do sensor de temperatura HDC1000: 4 etapas

Vídeo: Particle Photon - Tutorial do sensor de temperatura HDC1000: 4 etapas

Vídeo: Particle Photon - Tutorial do sensor de temperatura HDC1000: 4 etapas
Vídeo: Particle Photon - HDC1000 Temperature Sensor Tutorial 2024, Setembro
Anonim
Image
Image

O HDC1000 é um sensor de umidade digital com sensor de temperatura integrado que oferece excelente precisão de medição em potência muito baixa. O dispositivo mede a umidade com base em um novo sensor capacitivo. Os sensores de umidade e temperatura são calibrados de fábrica. É funcional dentro da faixa de temperatura total de -40 ° C a + 125 ° C. Aqui está sua demonstração com fóton de partícula.

Etapa 1: O que você precisa..

O que você precisa..!!
O que você precisa..!!

1. Partícula de fóton

2. HDC1000

3. Cabo I²C

4. Escudo I²C para Fóton de Partículas

Etapa 2: Conexão:

Conexão
Conexão
Conexão
Conexão
Conexão
Conexão
Conexão
Conexão

Pegue um escudo I2C para o fóton da partícula e empurre-o suavemente sobre os pinos do fóton da partícula.

Em seguida, conecte uma extremidade do cabo I2C ao sensor HDC1000 e a outra extremidade à blindagem I2C.

As conexões são mostradas na imagem acima.

Etapa 3: Código:

Código
Código

O código de partículas para HDC1000 pode ser baixado de nosso repositório GitHub - Dcube Store.

Aqui está o link para o mesmo:

github.com/DcubeTechVentures/HDC1000…

A folha de dados do HDC1000 pode ser encontrada aqui:

www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf

Usamos duas bibliotecas para código de partículas, que são application.h e spark_wiring_i2c.h. A biblioteca Spark_wiring_i2c é necessária para facilitar a comunicação I2C com o sensor.

Você também pode copiar o código daqui, ele é fornecido da seguinte forma:

// Distribuído com uma licença de livre arbítrio.

// Use-o como quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.

// HDC1000

// Este código foi projetado para funcionar com o Mini Módulo HDC1000_I2CS I2C disponível na Dcube Store.

#incluir

#incluir

// O endereço I2C HDC1000 é 0x40 (64)

#define Addr 0x40

float cTemp = 0,0, fTemp = 0,0, umidade = 0,0;

int temp = 0, zumbido = 0;

void setup ()

{

// Definir variável

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

Partícula.variable ("umidade", umidade);

Particle.variable ("cTemp", cTemp);

// Inicializar a comunicação I2C

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 (0x02);

// Temperatura, umidade habilitada, resolução = 14 bits, aquecedor ligado

Wire.write (0x30);

// Pare a transmissão I2C

Wire.endTransmission ();

atraso (300);

}

void loop ()

{

dados internos não assinados [2];

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr);

// Enviar comando de medição de temperatura

Wire.write (0x00);

// Pare a transmissão I2C

Wire.endTransmission ();

atraso (500);

// 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 ();

}

// Converta os dados

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

cTemp = (temp / 65536,0) * 165,0 - 40;

fTemp = cTemp * 1,8 + 32;

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr);

// Enviar comando de medição de umidade

Wire.write (0x01);

// Pare a transmissão I2C

Wire.endTransmission ();

atraso (500);

// 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 ();

}

// Converta os dados

hum = ((dados [0] * 256) + dados [1]);

umidade = (hum / 65536,0) * 100,0;

// Saída de dados para o painel

Particle.publish ("Umidade relativa:", String (umidade));

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

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

atraso (1000);

}

Etapa 4: Aplicativos:

HDC1000 pode ser empregado em aquecimento, ventilação e ar condicionado (HVAC), termostatos inteligentes e monitores de ambiente. Este sensor também encontra sua aplicação em impressoras, medidores portáteis, dispositivos médicos, transporte de carga, bem como desembaçamento de pára-brisa automotivo.

Recomendado: