Sadržaj:
- Korak 1: Potreban hardver:
- Korak 2: Povezivanje hardvera:
- Korak 3: Kôd za mjerenje vlažnosti i temperature:
- Korak 4: Aplikacije:
Video: Mjerenje vlažnosti i temperature pomoću HTS221 i Raspberry Pi: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
HTS221 je ultra kompaktni kapacitivni digitalni senzor za relativnu vlažnost i temperaturu. Sadrži osjetljivi element i integrirano kolo za mješoviti signal (ASIC) za mješoviti signal za pružanje mjernih informacija putem digitalnih serijskih sučelja. Integriran s toliko funkcija, ovo je jedan od najprikladnijih senzora za mjerenje kritične vlažnosti i temperature.
U ovom vodiču je prikazano povezivanje senzorskog modula HTS221 sa malinom pi, a prikazano je i njegovo programiranje pomoću jezika python. Za očitavanje vlažnosti i temperature koristili smo malinu pi sa I2C adapterom. Ovaj I2C adapter čini povezivanje sa senzorskim modulom lakim i pouzdanijim.
Korak 1: Potreban hardver:
Materijali koji su nam potrebni za postizanje našeg cilja uključuju sljedeće hardverske komponente:
1. HTS221
2. Malina Pi
3. I2C kabel
4. I2C štit za malinu pi
5. Ethernet kabel
Korak 2: Povezivanje hardvera:
Odeljak za priključivanje hardvera u osnovi objašnjava potrebne ožičenje između senzora i maline pi. Osiguravanje ispravnih veza osnovna je potreba pri radu na bilo kojem sistemu za željeni izlaz. Dakle, potrebne veze su sljedeće:
HTS221 će raditi preko I2C. Evo primjera dijagrama ožičenja koji pokazuje kako spojiti svako sučelje senzora.
Out-of-box, ploča je konfigurirana za I2C sučelje, pa kao takvu preporučujemo korištenje ove veze ako ste inače agnostični.
Sve što trebate su četiri žice! Potrebna su samo četiri priključka Vcc, Gnd, SCL i SDA pinovi koji se povezuju pomoću I2C kabela.
Ove veze su prikazane na gornjim slikama.
Korak 3: Kôd za mjerenje vlažnosti i temperature:
Prednost korištenja maline pi je ta što vam daje fleksibilnost programskog jezika u kojem želite programirati ploču kako biste s njom povezali senzor. Iskorištavajući ovu prednost ove ploče, ovdje demonstriramo njeno programiranje u pythonu. Python kôd za HTS221 može se preuzeti sa naše github zajednice koja je Control Everything Community.
Osim radi lakšeg korištenja, kôd objašnjavamo i ovdje:
Kao prvi korak kodiranja morate preuzeti smbus biblioteku u slučaju pythona, jer ova biblioteka podržava funkcije koje se koriste u kodu. Dakle, za preuzimanje biblioteke možete posjetiti sljedeću vezu:
pypi.python.org/pypi/smbus-cffi/0.5.1
Ovdje možete kopirati radni python kôd za ovaj senzor:
import smbus
vreme uvoza
# Nabavite I2C autobus
sabirnica = smbus. SMBus (1)
# HTS221 adresa, 0x5F (95)
# Odaberite prosječni registar konfiguracije, 0x10 (16)
# 0x1B (27) Prosječni uzorci temperature = 256, Uzorci prosječne vlažnosti = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# HTS221 adresa, 0x5F (95)
# Odaberite kontrolni registar1, 0x20 (32)
# 0x85 (133) Uključeno, kontinuirano ažuriranje, Brzina izlaznih podataka = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
vrijeme.spavanje (0,5)
# HTS221 adresa, 0x5F (95)
# Očitajte kalibracijske vrijednosti iz neisparne memorije uređaja
# Vlažnost Kalibracijske vrijednosti
# Pročitajte podatke nazad od 0x30 (48), 1 bajt
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Pročitajte podatke nazad od 0x31 (49), 1 bajt
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Pročitajte podatke nazad od 0x36 (54), 2 bajta
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Pročitajte podatke sa 0x3A (58), 2 bajta
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Vrijednosti kalibracije temperature
# Pročitajte podatke nazad od 0x32 (50), 1 bajt
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 i 0xFF)
# Pročitajte podatke sa 0x32 (51), 1 bajt
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 & 0xFF)
# Pročitajte podatke nazad od 0x35 (53), 1 bajt
sirovi = bus.read_byte_data (0x5F, 0x35)
sirovo = (sirovo i 0x0F)
# Pretvorite temperaturne kalibracijske vrijednosti u 10-bitne
T0 = ((neobrađeno & 0x03) * 256) + T0
T1 = ((sirovo i 0x0C) * 64) + T1
# Očitavanje podataka sa 0x3C (60), 2 bajta
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Očitavanje podataka iz 0x3E (62), 2 bajta
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Očitavanje podataka iz 0x28 (40) pomoću komandnog registra 0x80 (128), 4 bajta
# vlažnost msb, vlažnost lsb, temp msb, temp lsb
data = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Pretvorite podatke
vlažnost = (podaci [1] * 256) + podaci [0]
vlažnost = ((1.0 * H1) - (1.0 * H0)) * (1.0 * vlažnost - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)
temp = (podaci [3] * 256) + podaci [2]
ako je temp> 32767:
temp -= 65536
cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1.8) + 32
# Izlažite podatke na ekran
ispis "Relativna vlažnost: %.2f %%" %vlažnosti
ispis "Temperatura u Celzijusima: %.2f C" %cTemp
ispis "Temperatura u Farenhajtu: %.2f F" %fTemp
Dio dolje navedenog koda uključuje biblioteke potrebne za ispravno izvršavanje python kodova.
import smbus
vreme uvoza
Kod se može izvršiti upisivanjem dolje navedene naredbe u naredbeni redak.
$> python HTS221.py
Izlaz senzora je također prikazan na gornjoj slici za referencu korisnika.
Korak 4: Aplikacije:
HTS221 se može koristiti u raznim proizvodima široke potrošnje poput ovlaživača zraka i hladnjaka itd. Ovaj senzor svoju primjenu nalazi i u široj areni uključujući automatizaciju pametnih kuća, industrijsku automatizaciju, respiratornu opremu, praćenje imovine i robe.
Preporučuje se:
Mjerenje vlažnosti i temperature pomoću HIH6130 i Arduino Nano: 4 koraka
Mjerenje vlažnosti i temperature pomoću HIH6130 i Arduino Nano: HIH6130 je senzor vlažnosti i temperature s digitalnim izlazom. Ovi senzori pružaju nivo preciznosti od ± 4% RH. Uz dugoročnu stabilnost, vodeću u industriji, digitalni I2C s kompenzacijom temperature, vodeću pouzdanost u industriji, energetsku učinkovitost
Mjerenje vlažnosti i temperature pomoću HTS221 i Arduino Nano: 4 koraka
Mjerenje vlažnosti i temperature pomoću HTS221 i Arduino Nano: HTS221 je ultra kompaktni kapacitivni digitalni senzor za relativnu vlažnost i temperaturu. Sadrži senzorski element i integrirano kolo za mješoviti signal specifično za aplikacije (ASIC) za pružanje mjernih informacija putem digitalne serijske
Mjerenje vlažnosti i temperature pomoću HIH6130 i Raspberry Pi: 4 koraka
Mjerenje vlažnosti i temperature pomoću HIH6130 i Raspberry Pi: HIH6130 je senzor vlažnosti i temperature s digitalnim izlazom. Ovi senzori pružaju nivo preciznosti od ± 4% RH. Uz dugoročnu stabilnost, vodeću u industriji, digitalni I2C s kompenzacijom temperature, vodeću pouzdanost u industriji, energetsku učinkovitost
Mjerenje temperature i vlažnosti pomoću HDC1000 i Raspberry Pi: 4 koraka
Mjerenje temperature i vlažnosti pomoću HDC1000 i Raspberry Pi: HDC1000 je digitalni senzor vlažnosti s integriranim senzorom temperature koji pruža izvrsnu točnost mjerenja pri vrlo maloj snazi. Uređaj mjeri vlažnost na osnovu novog kapacitivnog senzora. Senzori vlažnosti i temperature su faks
Mjerenje vlažnosti i temperature pomoću HTS221 i fotona čestica: 4 koraka
Mjerenje vlažnosti i temperature pomoću HTS221 i fotona čestica: HTS221 je ultra kompaktni kapacitivni digitalni senzor za relativnu vlažnost i temperaturu. Sadrži senzorski element i integrirano kolo za mješoviti signal specifično za aplikacije (ASIC) za pružanje mjernih informacija putem digitalne serijske