Innholdsfortegnelse:

Måling av fuktighet og temperatur ved bruk av HTS221 og Raspberry Pi: 4 trinn
Måling av fuktighet og temperatur ved bruk av HTS221 og Raspberry Pi: 4 trinn

Video: Måling av fuktighet og temperatur ved bruk av HTS221 og Raspberry Pi: 4 trinn

Video: Måling av fuktighet og temperatur ved bruk av HTS221 og Raspberry Pi: 4 trinn
Video: Тонкости работы с монтажной пеной. То, что ты не знал! Секреты мастеров 2024, November
Anonim
Image
Image

HTS221 er en ultrakompakt kapasitiv digital sensor for relativ fuktighet og temperatur. Den inneholder et følerelement og en spesifikk integrert krets (ASIC) for blandet signal for å gi måleinformasjonen gjennom digitale serielle grensesnitt. Integrert med så mange funksjoner, dette er en av de mest passende sensorene for kritiske fuktighets- og temperaturmålinger.

I denne opplæringen er grensesnittet mellom HTS221 sensormodulen og bringebær pi demonstrert, og programmeringen ved hjelp av pythonspråk er også illustrert. For å lese fuktighets- og temperaturverdiene har vi brukt bringebærpi med en I2C -adapter. Denne I2C -adapteren gjør tilkoblingen til sensormodulen enkel og mer pålitelig.

Trinn 1: Nødvendig maskinvare:

Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves

Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:

1. HTS221

2. Bringebær Pi

3. I2C -kabel

4. I2C Shield for bringebær pi

5. Ethernet -kabel

Trinn 2: Maskinvaretilkobling:

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

Maskinvaretilkoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og bringebær -pi. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:

HTS221 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.

Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker.

Alt du trenger er fire ledninger! Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.

Disse sammenhengene er vist på bildene ovenfor.

Trinn 3: Kode for fuktighet og temperaturmåling:

Kode for fuktighet og temperaturmåling
Kode for fuktighet og temperaturmåling

Fordelen med å bruke bringebær pi er at det gir deg fleksibiliteten til programmeringsspråket der du vil programmere brettet for å koble sensoren til det. Ved å utnytte denne fordelen med dette brettet, demonstrerer vi her programmeringen i python. Python -koden for HTS221 kan lastes ned fra vårt github -fellesskap som er Control Everything Community.

I tillegg til brukernes brukervennlighet, forklarer vi koden også her:

Som det første trinnet i kodingen må du laste ned smbus -biblioteket i tilfelle python, fordi dette biblioteket støtter funksjonene som brukes i koden. Så for å laste ned biblioteket kan du besøke følgende lenke:

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

Du kan også kopiere arbeidspythonkoden for denne sensoren herfra:

importer smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# HTS221 -adresse, 0x5F (95)

# Velg gjennomsnittlig konfigurasjonsregister, 0x10 (16)

# 0x1B (27) Temperatur gjennomsnittlige prøver = 256, Fuktighets gjennomsnittsprøver = 512

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

# HTS221 -adresse, 0x5F (95)

# Velg kontrollregister1, 0x20 (32)

# 0x85 (133) Strøm PÅ, kontinuerlig oppdatering, datautgangshastighet = 1 Hz

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

time.sleep (0,5)

# HTS221 -adresse, 0x5F (95)

# Les kalibreringsverdier fra ikke-flyktig minne på enheten

# Fuktighetskalibreringsverdier

# Les data tilbake fra 0x30 (48), 1 byte

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

H0 = val / 2

# Les data tilbake fra 0x31 (49), 1 byte

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

H1 = val /2

# Les data tilbake fra 0x36 (54), 2 byte

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

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

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

# Les data tilbake fra 0x3A (58), 2 byte

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

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

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

# Temperaturkalibreringsverdier

# Les data tilbake fra 0x32 (50), 1 byte

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

T0 = (T0 & 0xFF)

# Les data tilbake fra 0x32 (51), 1 byte

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

T1 = (T1 & 0xFF)

# Les data tilbake fra 0x35 (53), 1 byte

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

rå = (rå & 0x0F)

# Konverter temperaturkalibreringsverdiene til 10-bits

T0 = ((rå & 0x03) * 256) + T0

T1 = ((rå & 0x0C) * 64) + T1

# Les data tilbake fra 0x3C (60), 2 byte

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

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

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

# Les data tilbake fra 0x3E (62), 2 byte

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

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

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

# Les data tilbake fra 0x28 (40) med kommandoregister 0x80 (128), 4 byte

# fuktighet msb, fuktighet lsb, temp msb, temp lsb

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

# Konverter dataene

fuktighet = (data [1] * 256) + data [0]

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

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

hvis temp> 32767:

temperatur -= 65536

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

fTemp = (cTemp * 1.8) + 32

# Utdata til skjermen

print "Relativ fuktighet: %.2f %%" %fuktighet

print "Temperatur i Celsius: %.2f C" %cTemp

print "Temperatur i Fahrenheit: %.2f F" %fTemp

Den delen av koden som er nevnt nedenfor inkluderer bibliotekene som kreves for riktig utførelse av pythonkodene.

importer smbus

importtid

Koden kan utføres ved å skrive kommandoen nedenfor i ledeteksten.

$> python HTS221.py

Sensorens utgang er også vist på bildet ovenfor for referanse til brukeren.

Trinn 4: Søknader:

Applikasjoner
Applikasjoner

HTS221 kan brukes i forskjellige forbrukerprodukter som luftfuktere og kjøleskap etc. Denne sensoren finner også sin anvendelse på en bredere arena, inkludert smart hjemmeautomatisering, industriell automatisering, åndedrettsutstyr, eiendeler og varesporing.

Anbefalt: