Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Kosteus- ja lämpötilamittauskoodi:
- Vaihe 4: Sovellukset:
Video: Kosteuden ja lämpötilan mittaus HTS221: n ja Raspberry Pi: n avulla: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
HTS221 on erittäin kompakti kapasitiivinen digitaalinen anturi suhteelliseen kosteuteen ja lämpötilaan. Se sisältää anturielementin ja sekoitussignaalisovelluskohtaisen integroidun piirin (ASIC) mittaustietojen toimittamiseksi digitaalisten sarjaliitäntöjen kautta. Integroitu niin moniin ominaisuuksiin, tämä on yksi sopivimmista antureista kriittisille kosteus- ja lämpötilamittauksille.
Tässä opetusohjelmassa esitetään HTS221 -anturimoduulin liitäntä vadelma pi: hen ja sen ohjelmointi python -kielellä on myös kuvattu. Kosteus- ja lämpötila -arvojen lukemiseen olemme käyttäneet vadelma pi: tä I2C -sovittimen kanssa. Tämä I2C -sovitin tekee liitännän anturimoduuliin helppoa ja luotettavaa.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. HTS221
2. Vadelma Pi
3. I2C -kaapeli
4. I2C Shield vadelmalle pi
5. Ethernet -kaapeli
Vaihe 2: Laitteiston kytkentä:
Laitteiston liitäntäosa selittää periaatteessa anturin ja vadelmapi: n väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:
HTS221 toimii I2C: n kautta. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.
Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko.
Tarvitset vain neljä johtoa! Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.
Nämä yhteydet on esitetty yllä olevissa kuvissa.
Vaihe 3: Kosteus- ja lämpötilamittauskoodi:
Raspberry pi: n käytön etuna on, että se tarjoaa joustavuuden ohjelmointikielelle, jolla haluat ohjelmoida levyn, jotta liitäntä anturiin sen kanssa. Hyödynnämme tämän levyn etua ja esittelemme sen ohjelmointia pythonissa. HTS221: n python -koodin voi ladata github -yhteisöltämme, joka on Control Everything Community.
Käyttäjien helpottamiseksi selitämme koodin myös täällä:
Koodauksen ensimmäisenä vaiheena sinun on ladattava smbus -kirjasto python -tapauksessa, koska tämä kirjasto tukee koodissa käytettyjä toimintoja. Joten voit ladata kirjaston seuraavasta linkistä:
pypi.python.org/pypi/smbus-cffi/0.5.1
Voit myös kopioida tämän anturin toimivan python -koodin täältä:
tuoda smbus
tuonnin aika
# Hanki I2C -bussi
väylä = smbus. SMBus (1)
# HTS221 -osoite, 0x5F (95)
# Valitse keskimääräinen määritysrekisteri, 0x10 (16)
# 0x1B (27) Lämpötilan keskimääräiset näytteet = 256, Ilmankosteuden keskiarvot = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# HTS221 -osoite, 0x5F (95)
# Valitse ohjausrekisteri1, 0x20 (32)
# 0x85 (133) Virta päällä, jatkuva päivitys, tiedonsiirtonopeus = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
aika. unta (0,5)
# HTS221 -osoite, 0x5F (95)
# Lue kalibrointiarvot laitteen haihtumattomasta muistista
# Kosteuden kalibrointiarvot
# Lue tiedot takaisin 0x30 (48), 1 tavu
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Lue tiedot takaisin 0x31 (49), 1 tavu
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Lue tiedot takaisin 0x36 (54), 2 tavua
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Lue tiedot takaisin 0x3A (58), 2 tavua
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Lämpötilan kalibrointiarvot
# Lue tiedot takaisin 0x32 (50), 1 tavu
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 & 0xFF)
# Lue tiedot takaisin 0x32 (51), 1 tavu
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 & 0xFF)
# Lue tiedot takaisin 0x35 (53), 1 tavu
raaka = bus.read_byte_data (0x5F, 0x35)
raaka = (raaka & 0x0F)
# Muunna lämpötilan kalibrointiarvot 10-bittisiksi
T0 = ((raaka & 0x03) * 256) + T0
T1 = ((raaka & 0x0C) * 64) + T1
# Lue tiedot takaisin 0x3C (60), 2 tavua
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Lue tiedot takaisin 0x3E (62), 2 tavua
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Lue tiedot takaisin 0x28: sta (40) komentorekisterillä 0x80 (128), 4 tavua
# kosteus msb, kosteus lsb, lämpötila msb, lämpötila lsb
data = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Muunna tiedot
kosteus = (tiedot [1] * 256) + tiedot [0]
kosteus = ((1,0 * H1) - (1,0 * H0)) * (1,0 * kosteus - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0)
lämpötila = (data [3] * 256) + data [2]
jos lämpötila> 32767:
lämpötila -= 65536
cTemp = ((T1 - T0) / 8.0) * (lämpötila - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1,8) + 32
# Tulosta tiedot näytölle
tulosta "Suhteellinen kosteus: %.2f %%" %kosteus
tulosta "Lämpötila celsiusasteina: %.2f C" %cTemp
tulosta "Lämpötila Fahrenheit: %.2f F" %fTemp
Alla mainittu koodin osa sisältää kirjastot, joita tarvitaan python -koodien oikeaan suorittamiseen.
tuoda smbus
tuonnin aika
Koodi voidaan suorittaa kirjoittamalla alla mainittu komento komentokehotteeseen.
$> python HTS221.py
Anturin lähtö näkyy myös yllä olevassa kuvassa käyttäjän viitteenä.
Vaihe 4: Sovellukset:
HTS221: tä voidaan käyttää erilaisissa kulutustavaroissa, kuten ilmankostuttimissa ja jääkaappeissa.
Suositeltava:
Kosteuden ja lämpötilan mittaus HIH6130: n ja Arduino Nanon avulla: 4 vaihetta
Kosteuden ja lämpötilan mittaus HIH6130: n ja Arduino Nanon avulla: HIH6130 on kosteus- ja lämpötila -anturi, jossa on digitaalinen lähtö. Nämä anturit antavat tarkkuustason ± 4% RH. Alan johtava pitkän aikavälin vakaus, todellinen lämpötilakompensoitu digitaalinen I2C, alan johtava luotettavuus, energiatehokkuus
Lämpötilan ja kosteuden mittaus HDC1000: n ja Arduino Nanon avulla: 4 vaihetta
Lämpötilan ja kosteuden mittaus HDC1000: n ja Arduino Nanon avulla: HDC1000 on digitaalinen kosteusanturi, jossa on sisäänrakennettu lämpötila -anturi, joka tarjoaa erinomaisen mittaustarkkuuden erittäin pienellä teholla. Laite mittaa kosteutta uuden kapasitiivisen anturin perusteella. Kosteus- ja lämpötila -anturit ovat
Kosteuden ja lämpötilan mittaus HTS221: n ja Arduino Nanon avulla: 4 vaihetta
Kosteuden ja lämpötilan mittaus HTS221: n ja Arduino Nanon avulla: HTS221 on erittäin kompakti kapasitiivinen digitaalinen anturi suhteelliseen kosteuteen ja lämpötilaan. Se sisältää anturielementin ja sekoitussignaalisovelluskohtaisen integroidun piirin (ASIC) mittaustietojen toimittamiseksi digitaalisen sarjaliikenteen kautta
Lämpötilan ja kosteuden mittaus HDC1000: n ja Raspberry Pi: n avulla: 4 vaihetta
Lämpötilan ja kosteuden mittaus HDC1000: n ja Raspberry Pi: n avulla: HDC1000 on digitaalinen kosteusanturi, jossa on sisäänrakennettu lämpötila -anturi, joka tarjoaa erinomaisen mittaustarkkuuden erittäin pienellä teholla. Laite mittaa kosteutta uuden kapasitiivisen anturin perusteella. Kosteus- ja lämpötila -anturit ovat
Kosteuden ja lämpötilan mittaus HTS221: n ja hiukkasfotonin avulla: 4 vaihetta
Kosteuden ja lämpötilan mittaus HTS221: n ja hiukkasfotonin avulla: HTS221 on erittäin kompakti kapasitiivinen digitaalinen anturi suhteelliselle kosteudelle ja lämpötilalle. Se sisältää anturielementin ja sekoitussignaalisovelluskohtaisen integroidun piirin (ASIC) mittaustietojen toimittamiseksi digitaalisen sarjaliikenteen kautta