Sisällysluettelo:

Kosteuden mittaus HYT939: n ja Arduino Nanon avulla: 4 vaihetta
Kosteuden mittaus HYT939: n ja Arduino Nanon avulla: 4 vaihetta

Video: Kosteuden mittaus HYT939: n ja Arduino Nanon avulla: 4 vaihetta

Video: Kosteuden mittaus HYT939: n ja Arduino Nanon avulla: 4 vaihetta
Video: 3 в 1 ZigBee датчик температуры, влажности и освещения с LCD дисплеем 2024, Marraskuu
Anonim
Image
Image

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:

Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
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ä
Laitteiston kytkentä
Laitteiston kytkentä
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:

Arduinon kosteusmittauskoodi
Arduinon kosteusmittauskoodi
Arduinon kosteusmittauskoodi
Arduinon 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:

Sovellukset
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.

Suositeltava: