Kazalo:
- 1. korak: Potrebna strojna oprema:
- 2. korak: Priključitev strojne opreme:
- 3. korak: Koda za merjenje vlažnosti in temperature:
- 4. korak: Aplikacije:
Video: Merjenje vlažnosti in temperature z uporabo HTS221 in Raspberry Pi: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
HTS221 je ultra kompakten kapacitivni digitalni senzor za relativno vlažnost in temperaturo. Vključuje zaznavni element in integrirano vezje za aplikacije z mešanim signalom (ASIC) za zagotavljanje merilnih informacij prek digitalnih serijskih vmesnikov. Integriran s toliko funkcijami, je eden najprimernejših senzorjev za merjenje kritične vlažnosti in temperature.
V tej vadnici je prikazano povezovanje senzorskega modula HTS221 z malino pi, ponazorjeno pa je tudi njegovo programiranje z uporabo jezika python. Za branje vrednosti vlažnosti in temperature smo uporabili malinovo pi z adapterjem I2C, ki omogoča enostavno in zanesljivo povezavo s senzorskim modulom.
1. korak: Potrebna strojna oprema:
Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:
1. HTS221
2. Malina Pi
3. Kabel I2C
4. I2C ščit za malinovo pi
5. Ethernetni kabel
2. korak: Priključitev strojne opreme:
Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in malinovim pi. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:
HTS221 bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.
Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični.
Vse kar potrebujete so štiri žice! Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.
Te povezave so prikazane na zgornjih slikah.
3. korak: Koda za merjenje vlažnosti in temperature:
Prednost uporabe maline pi je, da vam omogoča prilagodljivost programskega jezika, v katerem želite programirati ploščo, da povežete senzor z njo. Če izkoristimo to prednost te plošče, tukaj dokazujemo njeno programiranje v pythonu. Kodo python za HTS221 lahko prenesete iz naše skupnosti github, ki je Skupnost Control Everything.
Poleg lažjega uporabnika kodo razlagamo tudi tukaj:
Kot prvi korak kodiranja morate prenesti knjižnico smbus v primeru pythona, ker ta knjižnica podpira funkcije, ki se uporabljajo v kodi. Če želite prenesti knjižnico, obiščite naslednjo povezavo:
pypi.python.org/pypi/smbus-cffi/0.5.1
Delovno kodo python za ta senzor lahko kopirate tudi od tu:
uvoz smbus
čas uvoza
# Pridobite avtobus I2C
vodilo = smbus. SMBus (1)
# Naslov HTS221, 0x5F (95)
# Izberite povprečni konfiguracijski register, 0x10 (16)
# 0x1B (27) Povprečni temperaturni vzorci = 256, povprečni vzorci vlažnosti = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# Naslov HTS221, 0x5F (95)
# Izberite kontrolni register1, 0x20 (32)
# 0x85 (133) VKLOP, stalna posodobitev, izhodna hitrost podatkov = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
time.sleep (0,5)
# Naslov HTS221, 0x5F (95)
# Preberite kalibracijske vrednosti iz nehlapnega pomnilnika naprave
# Vlažnost Kalibracijske vrednosti
# Preberite podatke nazaj od 0x30 (48), 1 bajt
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Preberite podatke nazaj od 0x31 (49), 1 bajt
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Preberite podatke nazaj iz 0x36 (54), 2 bajta
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Preberite podatke nazaj 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)
# Temperaturne kalibracijske vrednosti
# Preberite podatke nazaj od 0x32 (50), 1 bajt
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 & 0xFF)
# Preberite podatke nazaj iz 0x32 (51), 1 bajt
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 & 0xFF)
# Preberite podatke nazaj od 0x35 (53), 1 bajt
raw = bus.read_byte_data (0x5F, 0x35)
surovo = (surovo in 0x0F)
# Pretvorite temperaturne kalibracijske vrednosti v 10-bitne
T0 = ((surovo in 0x03) * 256) + T0
T1 = ((surovo in 0x0C) * 64) + T1
# Preberite podatke nazaj iz 0x3C (60), 2 bajta
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Preberite podatke nazaj 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)
# Preberite podatke nazaj iz 0x28 (40) z ukaznim registrom 0x80 (128), 4 bajti
# vlažnost msb, vlažnost lsb, temp msb, temp lsb
data = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Pretvorite podatke
vlažnost = (podatki [1] * 256) + podatki [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 = (podatki [3] * 256) + podatki [2]
če je temp> 32767:
temp -= 65536
cTemp = ((T1 - T0) / 8,0) * (temp - T2) / (T3 - T2) + (T0 / 8,0)
fTemp = (cTemp * 1.8) + 32
# Iznesite podatke na zaslon
natisnite "Relativna vlažnost: %.2f %%" %vlažnosti
natisni "Temperatura v Celzijah: %.2f C" %cTemp
natisni "Temperatura v Fahrenheitu: %.2f F" %fTemp
Del spodaj omenjene kode vključuje knjižnice, potrebne za pravilno izvedbo kod Python.
uvoz smbus
čas uvoza
Kodo lahko izvedete tako, da v ukazni poziv vnesete spodnji ukaz.
$> python HTS221.py
Izhod senzorja je prikazan tudi na zgornji sliki za referenco uporabnika.
4. korak: Aplikacije:
HTS221 se lahko uporablja v različnih potrošniških izdelkih, kot so vlažilci zraka in hladilniki itd. Ta senzor se uporablja tudi na širšem področju, vključno z avtomatizacijo pametnega doma, industrijsko avtomatizacijo, opremo za dihanje, sledenjem sredstev in blaga.
Priporočena:
Merjenje vlažnosti in temperature z uporabo HIH6130 in Arduino Nano: 4 koraki
Merjenje vlažnosti in temperature z uporabo HIH6130 in Arduino Nano: HIH6130 je senzor vlažnosti in temperature z digitalnim izhodom. Ti senzorji zagotavljajo natančnost ± 4% RH. Z dolgoročno stabilnostjo v industriji, resnično temperaturno kompenziranim digitalnim I2C, vodilno zanesljivostjo v industriji, energetsko učinkovitostjo
Merjenje vlažnosti in temperature z uporabo HTS221 in Arduino Nano: 4 koraki
Merjenje vlažnosti in temperature z uporabo HTS221 in Arduino Nano: HTS221 je ultra kompakten kapacitivni digitalni senzor za relativno vlažnost in temperaturo. Vključuje zaznavni element in integrirano vezje za uporabo z mešanim signalom (ASIC) za zagotavljanje merilnih informacij prek digitalne serijske
Merjenje vlažnosti in temperature z uporabo HIH6130 in Raspberry Pi: 4 koraki
Merjenje vlažnosti in temperature z uporabo HIH6130 in Raspberry Pi: HIH6130 je senzor vlažnosti in temperature z digitalnim izhodom. Ti senzorji zagotavljajo natančnost ± 4% RH. Z dolgoročno stabilnostjo v industriji, resnično temperaturno kompenziranim digitalnim I2C, vodilno zanesljivostjo v industriji, energetsko učinkovitostjo
Merjenje temperature in vlažnosti z uporabo HDC1000 in Raspberry Pi: 4 koraki
Merjenje temperature in vlažnosti z uporabo HDC1000 in Raspberry Pi: HDC1000 je digitalni senzor vlažnosti z vgrajenim temperaturnim senzorjem, ki zagotavlja odlično natančnost merjenja pri zelo nizki moči. Naprava meri vlažnost na podlagi novega kapacitivnega senzorja. Senzorji vlažnosti in temperature so fakt
Merjenje vlažnosti in temperature s HTS221 in fotonom delcev: 4 koraki
Merjenje vlažnosti in temperature z uporabo HTS221 in fotona iz delcev: HTS221 je ultra kompakten kapacitivni digitalni senzor za relativno vlažnost in temperaturo. Vključuje zaznavni element in integrirano vezje za uporabo z mešanim signalom (ASIC) za zagotavljanje merilnih informacij prek digitalne serijske