Taula de continguts:

Mesura de la humitat i la temperatura mitjançant HTS221 i Raspberry Pi: 4 passos
Mesura de la humitat i la temperatura mitjançant HTS221 i Raspberry Pi: 4 passos

Vídeo: Mesura de la humitat i la temperatura mitjançant HTS221 i Raspberry Pi: 4 passos

Vídeo: Mesura de la humitat i la temperatura mitjançant HTS221 i Raspberry Pi: 4 passos
Vídeo: Часть 5 - Аудиокнига Уолдена Генри Дэвида Торо (глы 12–15) 2024, Juliol
Anonim
Image
Image

HTS221 és un sensor digital capacitiu ultra compacte per a humitat relativa i temperatura. Inclou un element de detecció i un circuit integrat específic d’aplicació de senyal mixta (ASIC) per proporcionar la informació de mesurament a través d’interfícies serials digitals. Integrat amb tantes funcions, aquest és un dels sensors més adequats per a mesuraments crítics d’humitat i temperatura.

En aquest tutorial es demostra la interfície del mòdul de sensor HTS221 amb raspberry pi i també s'ha il·lustrat la seva programació mitjançant llenguatge python. Per llegir els valors d’humitat i temperatura, hem utilitzat raspberry pi amb un adaptador I2C. Aquest adaptador I2C fa que la connexió al mòdul del sensor sigui més fàcil i fiable.

Pas 1: maquinari necessari:

Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari

Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:

1. HTS221

2. Raspberry Pi

3. Cable I2C

4. Escut I2C per a gerds pi

5. Cable Ethernet

Pas 2: connexió de maquinari:

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el raspberry pi. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:

El HTS221 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.

Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic.

Tot el que necessiteu són quatre cables. Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.

Aquestes connexions es mostren a les imatges anteriors.

Pas 3: codi per a la mesura de la humitat i la temperatura:

Codi de mesura de la humitat i la temperatura
Codi de mesura de la humitat i la temperatura

L’avantatge d’utilitzar el raspberry pi és que us proporciona la flexibilitat del llenguatge de programació en què voleu programar la placa per tal d’interfocar-hi el sensor. Aprofitant aquest avantatge d’aquest tauler, demostrem aquí la seva programació al pitó. El codi python de HTS221 es pot descarregar de la nostra comunitat de github, que és Control Everything Community.

A més de la facilitat dels usuaris, aquí també expliquem el codi:

Com a primer pas de codificació, heu de descarregar la biblioteca smbus en cas de python, perquè aquesta biblioteca admet les funcions utilitzades al codi. Per tant, per descarregar la biblioteca podeu visitar el següent enllaç:

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

Podeu copiar el codi python de treball d’aquest sensor també des d’aquí:

importar smbus

temps d'importació

# Aconsegueix un bus I2C

bus = smbus. SMBus (1)

# Adreça HTS221, 0x5F (95)

# Seleccioneu un registre de configuració mitjà, 0x10 (16)

# 0x1B (27) Mostres mitjanes de temperatura = 256, Mostres mitjanes d’humitat = 512

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

# Adreça HTS221, 0x5F (95)

# Selecciona registre de control1, 0x20 (32)

# 0x85 (133) Encès, actualització contínua, velocitat de sortida de dades = 1 Hz

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

time.sleep (0,5)

# Adreça HTS221, 0x5F (95)

# Llegiu els valors de calibració de la memòria no volàtil del dispositiu

# Valors de calibració de la humitat

# Llegiu les dades de 0x30 (48), 1 byte

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

H0 = val / 2

# Llegiu les dades de 0x31 (49), 1 byte

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

H1 = val / 2

# Llegiu les dades de 0x36 (54), 2 bytes

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

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

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

# Llegiu les dades de 0x3A (58), 2 bytes

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

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

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

# Valors de calibració de la temperatura

# Llegiu les dades de 0x32 (50), 1 byte

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

T0 = (T0 i 0xFF)

# Llegiu les dades de 0x32 (51), 1 byte

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

T1 = (T1 i 0xFF)

# Llegiu les dades de 0x35 (53), 1 byte

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

raw = (raw & 0x0F)

# Converteix els valors de la calibració de la temperatura a 10 bits

T0 = ((en brut & 0x03) * 256) + T0

T1 = ((en brut i 0x0C) * 64) + T1

# Llegiu les dades de 0x3C (60), 2 bytes

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

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

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

# Llegiu les dades de 0x3E (62), 2 bytes

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

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

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

# Llegiu les dades de 0x28 (40) amb el registre d'ordres 0x80 (128), 4 bytes

# humitat msb, humitat lsb, temp msb, temp lsb

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

# Converteix les dades

humitat = (dades [1] * 256) + dades [0]

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

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

si temp> 32767:

temp - = 65536

cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)

fTemp = (cTemp * 1,8) + 32

# Sortida de dades a la pantalla

imprimir "Humitat relativa:%.2f %%"% d'humitat

imprimir "Temperatura en centígrads:%.2f C"% cTemp

imprimir "Temperatura en Fahrenheit:%.2f F"% fTemp

La part de codi esmentada a continuació inclou les biblioteques necessàries per a la correcta execució dels codis python.

importar smbus

temps d'importació

El codi es pot executar escrivint l'ordre esmentada a continuació a l'indicador d'ordres.

$> python HTS221.py

La sortida del sensor també es mostra a la imatge superior per a la referència de l'usuari.

Pas 4: aplicacions:

Aplicacions
Aplicacions

HTS221 es pot utilitzar en diversos productes de consum com humidificadors d'aire i neveres, etc. Aquest sensor també troba la seva aplicació en un àmbit més ampli, inclosa la domòtica intel·ligent, l'automatització industrial, els equips respiratoris, el seguiment d'actius i mercaderies.

Recomanat: