Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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. Tässä opetusohjelmassa esitetään HYT939 -anturimoduulin liitäntä arduino nanoon.
Kosteusarvojen lukemiseen olemme käyttäneet arduinoa I2c -sovittimen kanssa. Tämä I2C -sovitin tekee liitännän anturimoduuliin helppoa ja luotettavaa.
Viestintäprotokolla, jolla anturi toimii, on I2C. I2C tarkoittaa integroitua piiriä. Se on viestintäprotokolla, jossa tiedonsiirto tapahtuu SDA- (sarjatiedot) ja SCL (sarjakello) -linjojen kautta. Se mahdollistaa useiden laitteiden yhdistämisen samanaikaisesti. Se on yksi yksinkertaisimmista ja tehokkaimmista viestintäprotokollista.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. HYT939
2. Arduino Nano
3. I2C -kaapeli
4. I2C -suoja Arduino nanolle
Vaihe 2: Laitteiston kytkentä:
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:
HYT939 toimii I2C: n yli. 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: Arduino -kosteusmittauskoodi:
Aloitetaan nyt Arduinoo -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ää
// HYT939 I2C -osoite on 0x28 (40)
#define Addr 0x28
mitätön asennus ()
{
// Alusta I2C -viestintä MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne
Sarja.alku (9600);
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamattomat int -tiedot [4];
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä normaalitilakomento
Wire.write (0x80);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (300);
// 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)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
// Muunna tiedot 14-bittisiksi
kellukosteus = (((tiedot [0] & 0x3F) * 256,0) + tiedot [1]) * (100,0 / 16383,0);
float cTemp = (((data [2] * 256,0) + (data [3] & 0xFC)) / 4) * (165,0 / 16383,0) - 40;
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 (300);
}
Johdinkirjastossa Wire.write () ja Wire.read () käytetään komentojen kirjoittamiseen ja anturilähdön lukemiseen. Koodin seuraava osa kuvaa anturin lähdön lukemista.
// Lue 4 tavua dataa // kosteus msb, kosteus lsb, lämpötila msb, lämpötila lsb if (Wire.available () == 4) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); data [3] = Wire.read ();
}
Anturilähtö näkyy yllä olevassa kuvassa.
Vaihe 4: Sovellukset:
HYT939 on tehokas digitaalinen kosteusanturi, jota käytetään lääketieteellisissä järjestelmissä, autoklaavissa. Painekastepisteen mittaus- ja kuivausjärjestelmät löytävät myös tämän anturimoduulin käytön. Erilaisissa laboratorioissa, joissa sopiva kosteustaso on keskeinen parametri kokeiden suorittamisessa, tätä anturia voidaan käyttää siellä kosteusmittauksiin.