Innholdsfortegnelse:
- Trinn 1: Nødvendig maskinvare:
- Trinn 2: Maskinvaretilkobling:
- Trinn 3: Kode for fuktighet og temperaturmåling:
- Trinn 4: Søknader:
Video: Måling av fuktighet og temperatur ved bruk av HTS221 og Raspberry Pi: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
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:
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:
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:
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:
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:
Måling av fuktighet og temperatur ved bruk av HIH6130 og Arduino Nano: 4 trinn
Måling av fuktighet og temperatur ved bruk av HIH6130 og Arduino Nano: HIH6130 er en fuktighets- og temperatursensor med digital utgang. Disse sensorene gir et nøyaktighetsnivå på ± 4% RF. Med bransjeledende langsiktig stabilitet, ekte temperaturkompensert digital I2C, bransjeledende pålitelighet, energieffektivitet
Måling av fuktighet og temperatur ved bruk av HTS221 og Arduino Nano: 4 trinn
Måling av fuktighet og temperatur ved bruk av HTS221 og Arduino Nano: HTS221 er en ultrakompakt kapasitiv digital sensor for relativ fuktighet og temperatur. Den inkluderer et følerelement og en blandet signalapplikasjonsspesifikk integrert krets (ASIC) for å gi måleinformasjonen gjennom digital seriell
Måling av fuktighet og temperatur ved bruk av HIH6130 og Raspberry Pi: 4 trinn
Måling av fuktighet og temperatur ved bruk av HIH6130 og Raspberry Pi: HIH6130 er en fuktighets- og temperatursensor med digital utgang. Disse sensorene gir et nøyaktighetsnivå på ± 4% RF. Med bransjeledende langsiktig stabilitet, ekte temperaturkompensert digital I2C, bransjeledende pålitelighet, energieffektivitet
Måling av temperatur og fuktighet ved bruk av HDC1000 og Raspberry Pi: 4 trinn
Måling av temperatur og fuktighet ved bruk av HDC1000 og Raspberry Pi: HDC1000 er en digital fuktighetssensor med integrert temperatursensor som gir utmerket måleenøyaktighet ved svært lav effekt. Enheten måler fuktighet basert på en ny kapasitiv sensor. Fuktighets- og temperatursensorene er
Måling av fuktighet og temperatur ved bruk av HTS221 og partikkelfoton: 4 trinn
Måling av fuktighet og temperatur ved bruk av HTS221 og partikkelfoton: HTS221 er en ultrakompakt kapasitiv digital sensor for relativ fuktighet og temperatur. Den inkluderer et følerelement og en blandet signalapplikasjonsspesifikk integrert krets (ASIC) for å gi måleinformasjonen gjennom digital seriell