Índice:

Raspberry Pi HTS221 Sensor de umidade relativa e temperatura Java Tutorial: 4 etapas
Raspberry Pi HTS221 Sensor de umidade relativa e temperatura Java Tutorial: 4 etapas

Vídeo: Raspberry Pi HTS221 Sensor de umidade relativa e temperatura Java Tutorial: 4 etapas

Vídeo: Raspberry Pi HTS221 Sensor de umidade relativa e temperatura Java Tutorial: 4 etapas
Vídeo: Как установить библиотеку датчиков DHT для Arduino IDE | Библиотека датчиков DHT11/DHT22 | Ардуино 2024, Novembro
Anonim
Image
Image

O HTS221 é um sensor digital capacitivo ultracompacto para umidade relativa e temperatura. Inclui um elemento de detecção e um circuito integrado específico de aplicativo de sinal misto (ASIC) para fornecer as informações de medição por meio de interfaces seriais digitais. Integrado com tantos recursos, este é um dos sensores mais apropriados para medições críticas de umidade e temperatura. Aqui está a demonstração com um código java usando Raspberry Pi.

Etapa 1: O que você precisa..

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

1. Raspberry Pi

2. HTS221

3. Cabo I²C

4. Escudo I²C para Raspberry Pi

5. Cabo Ethernet

Etapa 2: Conexões:

Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões

Pegue um escudo I2C para raspberry pi e empurre-o suavemente sobre os pinos gpio de raspberry pi.

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

Também conecte o cabo Ethernet ao pi ou você pode usar um módulo WiFi.

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

Etapa 3: Código:

Código
Código

O código python para HTS221 pode ser baixado de nosso repositório github-Dcube Store

Aqui está o link para o mesmo:

github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java

Usamos a biblioteca pi4j para o código java, as etapas para instalar o pi4j no raspberry pi são descritas aqui:

pi4j.com/install.html

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.

// HTS221

// Este código foi projetado para funcionar com o Mini Módulo HTS221_I2CS I2C.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

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

{

// Criar I2CBus

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

// Obter dispositivo I2C, o endereço HTS221 I2C é 0x5F (95)

Dispositivo I2CDevice = bus.getDevice (0x5F);

// Selecione o registro de configuração média

// Amostras médias de temperatura = 16, amostras médias de umidade = 32

device.write (0x10, (byte) 0x1B);

// Selecione o registro de controle1

// Ligar, atualizar dados de bloco, taxa de dados o / p = 1 Hz

device.write (0x20, (byte) 0x85);

Thread.sleep (500);

// Lê os valores de calibração da memória não volátil do dispositivo

// Valores de calibração de umidade

byte val = novo byte [2];

// Lê 1 byte de dados do endereço 0x30 (48)

val [0] = (byte) device.read (0x30);

// Lê 1 byte de dados do endereço 0x31 (49)

val [1] = (byte) device.read (0x31);

int H0 = (val [0] e 0xFF) / 2;

int H1 = (val [1] e 0xFF) / 2;

// Lê 1 byte de dados do endereço 0x36 (54)

val [0] = (byte) device.read (0x36);

// Lê 1 byte de dados do endereço 0x37 (55)

val [1] = (byte) device.read (0x37);

int H2 = ((val [1] e 0xFF) * 256) + (val [0] e 0xFF);

// Lê 1 byte de dados do endereço 0x3A (58)

val [0] = (byte) device.read (0x3A);

// Lê 1 byte de dados do endereço 0x3B (59)

val [1] = (byte) device.read (0x3B);

int H3 = ((val [1] e 0xFF) * 256) + (val [0] e 0xFF);

// Valores de calibração de temperatura

// Lê 1 byte de dados do endereço 0x32 (50)

int T0 = ((byte) device.read (0x32) & 0xFF);

// Lê 1 byte de dados do endereço 0x33 (51)

int T1 = ((byte) device.read (0x33) & 0xFF);

// Lê 1 byte de dados do endereço 0x35 (53)

int raw = ((byte) device.read (0x35) & 0x0F);

// Converta os valores de calibração de temperatura para 10 bits

T0 = ((bruto & 0x03) * 256) + T0;

T1 = ((bruto & 0x0C) * 64) + T1;

// Lê 1 byte de dados do endereço 0x3C (60)

val [0] = (byte) device.read (0x3C);

// Lê 1 byte de dados do endereço 0x3D (61)

val [1] = (byte) device.read (0x3D);

int T2 = ((val [1] e 0xFF) * 256) + (val [0] e 0xFF);

// Lê 1 byte de dados do endereço 0x3E (62)

val [0] = (byte) device.read (0x3E);

// Lê 1 byte de dados do endereço 0x3F (63)

val [1] = (byte) device.read (0x3F);

int T3 = ((val [1] e 0xFF) * 256) + (val [0] e 0xFF);

// Lê 4 bytes de dados

// hum msb, hum lsb, temp msb, temp lsb

byte dados = novo byte [4]; device.read (0x28 | 0x80, data, 0, 4);

// Converta os dados

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

int temp = ((dados [3] e 0xFF) * 256) + (dados [2] e 0xFF);

if (temp> 32767)

{

temp - = 65536;

}

umidade dupla = ((1,0 * H1) - (1,0 * H0)) * (1,0 * zumbido - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);

duplo cTemp = ((T1 - T0) / 8,0) * (temp - T2) / (T3 - T2) + (T0 / 8,0);

fTemp duplo = (cTemp * 1,8) + 32;

// Dados de saída para a tela

System.out.printf ("Umidade relativa:%.2f %% RH% n", umidade);

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

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

}

}

Etapa 4: Aplicativos:

O HTS221 pode ser empregado em vários produtos de consumo, como umidificadores de ar e geladeiras, etc. Este sensor também pode ser aplicado em uma área mais ampla, incluindo automação residencial inteligente, automação industrial, equipamentos respiratórios, rastreamento de bens e mercadorias.

Recomendado: