![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: 4 vaihetta](https://i.howwhatproduce.com/images/010/image-27336-j.webp)
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41
![Image Image](https://i.howwhatproduce.com/images/010/image-27336-2-j.webp)
![](https://i.ytimg.com/vi/BmBnq9eYrTs/hqdefault.jpg)
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 on kuvattu HTS221 -anturimoduulin liitäntä arduino nanoon. Kosteus- ja lämpötila -arvojen lukemiseen olemme käyttäneet arduinoa I2c -sovittimen kanssa. Tämä I2C -sovitin tekee yhteyden anturimoduuliin helppoa ja luotettavaa.
Vaihe 1: Tarvittava laitteisto:
![Tarvittava laitteisto Tarvittava laitteisto](https://i.howwhatproduce.com/images/010/image-27336-3-j.webp)
![Tarvittava laitteisto Tarvittava laitteisto](https://i.howwhatproduce.com/images/010/image-27336-4-j.webp)
![Tarvittava laitteisto Tarvittava laitteisto](https://i.howwhatproduce.com/images/010/image-27336-5-j.webp)
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. HTS221
2. Arduino Nano
3. I2C -kaapeli
4. I2C -kilpi Arduino Nanolle
Vaihe 2: Laitteiston kytkentä:
![Laitteiston kytkentä Laitteiston kytkentä](https://i.howwhatproduce.com/images/010/image-27336-6-j.webp)
![Laitteiston kytkentä Laitteiston kytkentä](https://i.howwhatproduce.com/images/010/image-27336-7-j.webp)
Laitteiston kytkentäosio selittää periaatteessa anturin ja arduino nanon väliset tarvittavat johdot. 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:
![Kosteus- ja lämpötilamittauskoodi Kosteus- ja lämpötilamittauskoodi](https://i.howwhatproduce.com/images/010/image-27336-8-j.webp)
Aloitetaan nyt Arduino -koodilla.
Kun käytät anturimoduulia Arduinon kanssa, sisällytämme Wire.h -kirjaston. "Wire" -kirjasto sisältää toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja Arduino -kortin välillä.
Koko Arduino -koodi on alla käyttäjän mukavuuden vuoksi:
#sisältää
// HTS221 I2C -osoite on 0x5F
#define Addr 0x5F
mitätön asennus ()
{
// Alusta I2C -viestintä MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse keskimääräinen määritysrekisteri
Wire.write (0x10);
// Lämpötilan keskimääräiset näytteet = 256, Kosteusnäytteet = 512
Wire.write (0x1B);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse ohjausrekisteri 1
Wire.write (0x20);
// Virta päällä, jatkuva päivitys, tiedonsiirtonopeus = 1 Hz
Wire.write (0x85);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamaton int -data [2];
unsigned int val [4];
allekirjoittamaton int H0, H1, H2, H3, T0, T1, T2, T3, raaka;
// Kosteuden kutsuarvot
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((48 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna kosteustiedot
H0 = data [0] / 2;
H1 = data [1] / 2;
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((54 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna kosteustiedot
H2 = (data [1] * 256,0) + data [0];
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((58 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna kosteustiedot
H3 = (data [1] * 256,0) + data [0];
// Lämpötilan kutsun arvot
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x32);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
T0 = Wire.read ();
}
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x33);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
T1 = Wire.read ();
}
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x35);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
raaka = Wire.read ();
}
raaka = raaka & 0x0F;
// Muunna lämpötilan kutsun arvot 10-bittisiksi
T0 = ((raaka & 0x03) * 256) + T0;
T1 = ((raaka & 0x0C) * 64) + T1;
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((60 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna tiedot
T2 = (data [1] * 256,0) + data [0];
(int i = 0; i <2; i ++)
{
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write ((62 + i));
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 1 tavu dataa
Wire.requestFrom (Addr, 1);
// Lue 1 tavu dataa
jos (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Muunna tiedot
T3 = (data [1] * 256,0) + data [0];
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä rekisteri
Wire.write (0x28 | 0x80);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 4 tavua dataa
Wire.requestFrom (Addr, 4);
// Lue 4 tavua dataa
// kosteus msb, kosteus lsb, lämpötila msb, lämpötila lsb
jos (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// Muunna tiedot
kellukosteus = (val [1] * 256,0) + val [0];
kosteus = (((1,0 * H1) - (1,0 * H0)) * (1,0 * kosteus - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
int temp = (val [3] * 256) + val [2];
kelluva cTemp = ((((T1 - T0) / 8,0) * (lämpötila - T2)) / (T3 - T2) + (T0 / 8,0);
kelluva fTemp = (cTemp * 1,8) + 32;
// Tulostustiedot sarjamittarille
Serial.print ("Suhteellinen kosteus:");
Sarjajälki (kosteus);
Serial.println (" % RH");
Serial.print ("Lämpötila celsiusasteina:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Lämpötila Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
viive (500);
}
Johdinkirjastossa Wire.write () ja Wire.read () käytetään komentojen kirjoittamiseen ja anturilähdön lukemiseen.
Serial.print () ja Serial.println () käytetään anturin lähdön näyttämiseen Arduino IDE: n sarjamonitorissa.
Anturin lähtö näkyy yllä olevassa kuvassa.
Vaihe 4: Sovellukset:
![Sovellukset Sovellukset](https://i.howwhatproduce.com/images/010/image-27336-9-j.webp)
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: 4 vaihetta Kosteuden ja lämpötilan mittaus HIH6130: n ja Arduino Nanon avulla: 4 vaihetta](https://i.howwhatproduce.com/images/010/image-27334-j.webp)
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: 4 vaihetta Lämpötilan ja kosteuden mittaus HDC1000: n ja Arduino Nanon avulla: 4 vaihetta](https://i.howwhatproduce.com/images/010/image-27335-j.webp)
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 mittaus HYT939: n ja Arduino Nanon avulla: 4 vaihetta
![Kosteuden mittaus HYT939: n ja Arduino Nanon avulla: 4 vaihetta Kosteuden mittaus HYT939: n ja Arduino Nanon avulla: 4 vaihetta](https://i.howwhatproduce.com/images/010/image-27342-j.webp)
Kosteuden mittaus HYT939: n ja Arduino Nanon avulla: HYT939 on digitaalinen kosteusanturi, joka toimii I2C -tiedonsiirtoprotokollalla. Kosteus on keskeinen parametri lääketieteellisissä järjestelmissä ja laboratorioissa, joten näiden tavoitteiden saavuttamiseksi yritimme liittää HYT939: n arduino nanoon. Minä
Kosteuden ja lämpötilan mittaus HTS221: n ja Raspberry Pi: n avulla: 4 vaihetta
![Kosteuden ja lämpötilan mittaus HTS221: n ja Raspberry Pi: n avulla: 4 vaihetta Kosteuden ja lämpötilan mittaus HTS221: n ja Raspberry Pi: n avulla: 4 vaihetta](https://i.howwhatproduce.com/images/002/image-3228-22-j.webp)
Kosteuden ja lämpötilan mittaus HTS221: n ja Raspberry Pi: n 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
Kosteuden ja lämpötilan mittaus HTS221: n ja hiukkasfotonin avulla: 4 vaihetta
![Kosteuden ja lämpötilan mittaus HTS221: n ja hiukkasfotonin avulla: 4 vaihetta Kosteuden ja lämpötilan mittaus HTS221: n ja hiukkasfotonin avulla: 4 vaihetta](https://i.howwhatproduce.com/images/002/image-3265-45-j.webp)
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