Sadržaj:
- Korak 1: Potreban hardver:
- 2. korak: Spajanje 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 promjena: 2024-01-30 09:35
HTS221 je ultra kompaktni kapacitivni digitalni senzor za relativnu vlažnost i temperaturu. Sadrži osjetni element i integrirani krug specifične primjene mješovitog signala (ASIC) za pružanje mjernih informacija putem digitalnih serijskih sučelja. Integriran s toliko značajki, ovo je jedan od najprikladnijih senzora za mjerenje kritične vlažnosti i temperature.
U ovom vodiču prikazano je povezivanje senzorskog modula HTS221 s malinom pi, a prikazano je i njegovo programiranje pomoću jezika python. Za očitavanje vlažnosti i temperature koristili smo malinu pi s I2C adapterom. Ovaj adapter I2C čini povezivanje s 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
2. korak: Spajanje hardvera:
Odjeljak hardverskog spajanja u osnovi objašnjava potrebne ožičenje potrebne veze između senzora i maline pi. Osiguravanje ispravnih veza osnovna je potreba tijekom rada na bilo kojem sustavu 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 spojili senzor. Iskorištavajući ovu prednost ove ploče, ovdje demonstriramo njezino programiranje u pythonu. Python kôd za HTS221 može se preuzeti s 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 knjižnicu smbus u slučaju pythona, jer ova knjižnica podržava funkcije korištene u kodu. Dakle, za preuzimanje knjižnice 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:
uvoz smbus
vrijeme uvoza
# Nabavite I2C autobus
sabirnica = smbus. SMBus (1)
# Adresa HTS221, 0x5F (95)
# Odaberite prosječni registar konfiguracije, 0x10 (16)
# 0x1B (27) Uzorci prosječne temperature = 256, Uzorci prosječne vlažnosti = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# Adresa HTS221, 0x5F (95)
# Odaberite upravljački 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)
# Adresa HTS221, 0x5F (95)
# Očitajte kalibracijske vrijednosti iz neisparljive memorije uređaja
# Vrijednosti kalibracije vlažnosti
# Pročitajte podatke natrag od 0x30 (48), 1 bajt
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Pročitajte podatke natrag od 0x31 (49), 1 bajt
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Vratite podatke s 0x36 (54), 2 bajta
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Očitavanje podataka iz 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 natrag od 0x32 (50), 1 bajt
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 i 0xFF)
# Očitavanje podataka s 0x32 (51), 1 bajt
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 i 0xFF)
# Pročitajte podatke natrag od 0x35 (53), 1 bajt
neobrađeno = sabirnica.čitani_bajtski_dati (0x5F, 0x35)
neobrađeno = (sirovo i 0x0F)
# Pretvorite vrijednosti kalibracije temperature u 10 bita
T0 = ((neobrađeno & 0x03) * 256) + T0
T1 = ((sirovo i 0x0C) * 64) + T1
# Vratite podatke s 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 naredbenog registra 0x80 (128), 4 bajta
# vlažnost msb, vlažnost lsb, temp msb, temp lsb
podaci = sabirnica.čitani_i2c_blok_podaci (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 zaslon
ispis "Relativna vlažnost: %.2f %%" %vlažnosti
ispis "Temperatura u Celzijusima: %.2f C" %cTemp
ispis "Temperatura u Fahrenheitu: %.2f F" %fTemp
Dio dolje navedenog koda uključuje knjižnice potrebne za ispravno izvršavanje python kodova.
uvoz smbus
vrijeme uvoza
Kôd 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 kao što su ovlaživači zraka i hladnjaci itd. Ovaj senzor također ima svoju primjenu u široj areni uključujući automatizaciju pametnih kuća, industrijsku automatizaciju, respiratornu opremu, praćenje imovine i robe.
Preporučeni:
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 razinu točnosti 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 osjetni element i integrirani krug specifične primjene mješovitog signala (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 razinu točnosti 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 temelju novog kapacitivnog senzora. Senzori vlage i temperature su fakt
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 osjetni element i integrirani krug specifične primjene mješovitog signala (ASIC) za pružanje mjernih informacija putem digitalne serijske