Índice:

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

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

Vídeo: Medição de umidade e temperatura usando HTS221 e Raspberry Pi: 4 etapas
Vídeo: #23 - SENSOR DE GAS - ZMOD FAMILY 2024, Julho
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.

Neste tutorial a interface do módulo sensor HTS221 com raspberry pi é demonstrada e sua programação em linguagem python também foi ilustrada. Para ler os valores de umidade e 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. HTS221

2. Raspberry 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 HTS221 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 umidade e temperatura:

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

A vantagem de usar raspberry pi é que oferece 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 desta placa, estamos demonstrando aqui sua programação em python. O código python para HTS221 pode ser baixado de nossa comunidade github que é Control Everything Community.

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

Como primeira etapa da codificação, você precisa baixar a biblioteca smbus no caso do python, porque esta biblioteca suporta as funções usadas no código. Portanto, para baixar a biblioteca você pode visitar o seguinte link:

pypi.python.org/pypi/smbus-cffi/0.5.1

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

import smbus

tempo de importação

# Pegue o ônibus I2C

bus = smbus. SMBus (1)

# Endereço HTS221, 0x5F (95)

# Selecione o registro de configuração média, 0x10 (16)

# 0x1B (27) Amostras médias de temperatura = 256, Amostras médias de umidade = 512

bus.write_byte_data (0x5F, 0x10, 0x1B)

# Endereço HTS221, 0x5F (95)

# Selecione o registro de controle 1, 0x20 (32)

# 0x85 (133) Ligar, atualização contínua, taxa de saída de dados = 1 Hz

bus.write_byte_data (0x5F, 0x20, 0x85)

tempo.sono (0,5)

# Endereço HTS221, 0x5F (95)

# Leia os valores de calibração da memória não volátil do dispositivo

# Valores de calibração de umidade

# Leia os dados de 0x30 (48), 1 byte

val = bus.read_byte_data (0x5F, 0x30)

H0 = val / 2

# Leia os dados de 0x31 (49), 1 byte

val = bus.read_byte_data (0x5F, 0x31)

H1 = val / 2

# Leia os dados de 0x36 (54), 2 bytes

val0 = bus.read_byte_data (0x5F, 0x36)

val1 = bus.read_byte_data (0x5F, 0x37)

H2 = ((val1 e 0xFF) * 256) + (val0 e 0xFF)

# Leia os dados de 0x3A (58), 2 bytes

val0 = bus.read_byte_data (0x5F, 0x3A)

val1 = bus.read_byte_data (0x5F, 0x3B)

H3 = ((val1 e 0xFF) * 256) + (val0 e 0xFF)

# Valores de calibração de temperatura

# Leia os dados de 0x32 (50), 1 byte

T0 = bus.read_byte_data (0x5F, 0x32)

T0 = (T0 e 0xFF)

# Leia os dados de 0x32 (51), 1 byte

T1 = bus.read_byte_data (0x5F, 0x33)

T1 = (T1 e 0xFF)

# Leia os dados de 0x35 (53), 1 byte

raw = bus.read_byte_data (0x5F, 0x35)

raw = (raw & 0x0F)

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

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

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

# Leia os dados de 0x3C (60), 2 bytes

val0 = bus.read_byte_data (0x5F, 0x3C)

val1 = bus.read_byte_data (0x5F, 0x3D)

T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Leia os dados de 0x3E (62), 2 bytes

val0 = bus.read_byte_data (0x5F, 0x3E)

val1 = bus.read_byte_data (0x5F, 0x3F)

T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Leia os dados de 0x28 (40) com o registro de comando 0x80 (128), 4 bytes

# umidade msb, umidade lsb, temp msb, temp lsb

data = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# Converta os dados

umidade = (dados [1] * 256) + dados [0]

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

temp = (dados [3] * 256) + dados [2]

se temp> 32767:

temp - = 65536

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

fTemp = (cTemp * 1,8) + 32

# Dados de saída para a tela

imprimir "Umidade relativa:%.2f %%"% umidade

print "Temperatura em Celsius:%.2f C"% cTemp

print "Temperatura em Fahrenheit:%.2f F"% fTemp

A parte do código mencionada abaixo inclui as bibliotecas necessárias para a execução correta dos códigos Python.

import smbus

tempo de importação

O código pode ser executado digitando o comando mencionado abaixo no prompt de comando.

$> python HTS221.py

A saída do sensor também é mostrada na imagem acima para referência do usuário.

Etapa 4: Aplicativos:

Formulários
Formulários

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: