Sisukord:
- Samm: vajalik riistvara:
- 2. samm: riistvara ühendamine:
- 3. samm: niiskuse ja temperatuuri mõõtmise kood:
- 4. samm: rakendused:
Video: Niiskuse ja temperatuuri mõõtmine HTS221 ja Raspberry Pi abil: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
HTS221 on ülikompaktne mahtuvuslik digitaalne andur suhtelise niiskuse ja temperatuuri jaoks. See sisaldab andurielementi ja segasignaalirakenduse spetsiifilist integraallülitust (ASIC), et edastada mõõtmisteavet digitaalsete jadaliideste kaudu. See on integreeritud nii paljude funktsioonidega, see on üks kõige sobivamaid andureid kriitilise niiskuse ja temperatuuri mõõtmiseks.
Selles õpetuses on näidatud HTS221 andurimooduli liidestamist vaarika pi -ga ja illustreeritud on ka selle programmeerimine python -keelt kasutades. Niiskuse ja temperatuuri väärtuste lugemiseks oleme kasutanud vaarika pi koos I2C adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.
Samm: vajalik riistvara:
Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:
1. HTS221
2. Vaarika Pi
3. I2C kaabel
4. I2C Shield vaarika pi jaoks
5. Etherneti kaabel
2. samm: riistvara ühendamine:
Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja vaarika pi vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:
HTS221 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.
Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik.
Kõik, mida vajate, on neli juhtmest! Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.
Neid seoseid on näidatud ülaltoodud piltidel.
3. samm: niiskuse ja temperatuuri mõõtmise kood:
Vaarika pi kasutamise eeliseks on see, et saate paindlikult programmeerimiskeelt, milles soovite plaati programmeerida, et andurit sellega liidestada. Kasutades selle plaadi eeliseid, demonstreerime siin selle programmeerimist pythonis. HTS221 püütoni koodi saab alla laadida meie githubi kogukonnast, mis on Control Everything Community.
Lisaks kasutajate mugavusele selgitame koodi ka siin:
Kodeerimise esimese sammuna peate pythoni korral alla laadima smbus -raamatukogu, kuna see teek toetab koodis kasutatavaid funktsioone. Niisiis, teegi allalaadimiseks võite külastada järgmist linki:
pypi.python.org/pypi/smbus-cffi/0.5.1
Siit saate kopeerida ka selle anduri töötava püütoni koodi:
import smbus
impordi aeg
# Hankige I2C buss
buss = smbus. SMBus (1)
# HTS221 aadress, 0x5F (95)
# Valige keskmine konfiguratsiooniregister, 0x10 (16)
# 0x1B (27) Temperatuuri keskmised proovid = 256, Niiskuse keskmised proovid = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# HTS221 aadress, 0x5F (95)
# Valige juhtregister1, 0x20 (32)
# 0x85 (133) Toide sisse lülitatud, pidev värskendamine, andmete väljundkiirus = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
aeg. uni (0,5)
# HTS221 aadress, 0x5F (95)
# Lugege kalibreerimisväärtusi seadme püsimälust
# Niiskuse kalibreerimise väärtused
# Lugege andmeid tagasi alates 0x30 (48), 1 bait
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Lugege andmeid tagasi alates 0x31 (49), 1 bait
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Lugege andmeid tagasi 0x36 (54), 2 baiti
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Lugege andmeid tagasi 0x3A (58), 2 baiti
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Temperatuuri kalibreerimise väärtused
# Lugege andmeid tagasi 0x32 (50), 1 bait
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 ja 0xFF)
# Lugege andmeid tagasi alates 0x32 (51), 1 bait
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 ja 0xFF)
# Lugege andmeid tagasi alates 0x35 (53), 1 bait
toores = bus.read_byte_data (0x5F, 0x35)
toores = (toores ja 0x0F)
# Teisendage temperatuuri kalibreerimisväärtused 10-bitisteks
T0 = ((toores ja 0x03) * 256) + T0
T1 = ((toores ja 0x0C) * 64) + T1
# Lugege andmeid tagasi 0x3C (60), 2 baiti
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Lugege andmeid tagasi 0x3E (62), 2 baiti
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Lugege andmeid tagasi 0x28 (40) käskude registriga 0x80 (128), 4 baiti
# niiskus msb, niiskus lsb, temp msb, temp lsb
andmed = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Teisendage andmed
niiskus = (andmed [1] * 256) + andmed [0]
niiskus = ((1,0 * H1) - (1,0 * H0)) * (1,0 * niiskus - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0)
temp = (andmed [3] * 256) + andmed [2]
kui temp> 32767:
temp -= 65536
cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1,8) + 32
# Väljastage andmed ekraanile
print "Suhteline õhuniiskus: %.2f %%" %niiskus
print "Temperatuur Celsiuse järgi: %.2f C" %cTemp
print "Temperatuur Fahrenheiti järgi: %.2f F" %fTemp
Allpool mainitud koodi osa sisaldab teeke, mida on vaja püütoni koodide õigeks täitmiseks.
import smbus
impordi aeg
Koodi saab käivitada, sisestades käsureale allpool nimetatud käsu.
$> python HTS221.py
Anduri väljund on kasutaja jaoks viidatud ka ülaltoodud pildile.
4. samm: rakendused:
HTS221 saab kasutada mitmesugustes tarbekaupades nagu õhuniisutajad ja külmikud jne. Seda andurit saab kasutada ka laiemal areenil, sealhulgas nutika kodu automatiseerimine, tööstusautomaatika, hingamisteede seadmed, varade ja kaupade jälgimine.
Soovitan:
Temperatuuri ja niiskuse mõõtmine DHT11 / DHT22 ja Arduino abil: 4 sammu
Temperatuuri ja niiskuse mõõtmine DHT11 / DHT22 ja Arduino abil
Niiskuse ja temperatuuri mõõtmine HTS221 ja Arduino Nano abil: 4 sammu
Niiskuse ja temperatuuri mõõtmine HTS221 ja Arduino Nano abil: HTS221 on ülikompaktne mahtuvuslik digitaalne andur suhtelise niiskuse ja temperatuuri jaoks. See sisaldab andurit ja segasignaalirakenduse spetsiifilist integraallülitust (ASIC), mis pakub mõõtmisteavet digitaalse jada kaudu
Niiskuse ja temperatuuri mõõtmine HIH6130 ja Raspberry Pi abil: 4 sammu
Niiskuse ja temperatuuri mõõtmine HIH6130 ja Raspberry Pi abil: HIH6130 on digitaalse väljundiga niiskus- ja temperatuuriandur. Need andurid tagavad täpsuse taseme ± 4% RH. Tööstusharu juhtiva pikaajalise stabiilsusega, tõelise temperatuuriga kompenseeritud digitaalse I2C-ga, tööstusharu juhtiva töökindlusega, energiatõhususega
Temperatuuri ja niiskuse mõõtmine HDC1000 ja Raspberry Pi abil: 4 sammu
Temperatuuri ja niiskuse mõõtmine HDC1000 ja Raspberry Pi abil: HDC1000 on digitaalne niiskusandur koos integreeritud temperatuurianduriga, mis tagab suurepärase mõõtmistäpsuse väga väikese võimsusega. Seade mõõdab niiskust uue mahtuvusliku anduri põhjal. Niiskuse ja temperatuuri andurid on
Niiskuse ja temperatuuri mõõtmine HTS221 ja osakeste footoni abil: 4 sammu
Niiskuse ja temperatuuri mõõtmine, kasutades HTS221 ja osakeste fotone: HTS221 on ülikompaktne mahtuvuslik digitaalne andur suhtelise niiskuse ja temperatuuri jaoks. See sisaldab andurit ja segasignaalirakenduse spetsiifilist integraallülitust (ASIC), mis pakub mõõtmisteavet digitaalse jada kaudu