Sisukord:

Niiskuse mõõtmine HYT939 ja Arduino Nano abil: 4 sammu
Niiskuse mõõtmine HYT939 ja Arduino Nano abil: 4 sammu

Video: Niiskuse mõõtmine HYT939 ja Arduino Nano abil: 4 sammu

Video: Niiskuse mõõtmine HYT939 ja Arduino Nano abil: 4 sammu
Video: Lühikokkuvõtte elektroonika praktilistest töötubadest algajatele 2024, Juuli
Anonim
Image
Image

HYT939 on digitaalne niiskusandur, mis töötab I2C sideprotokolli alusel. Niiskus on meditsiinisüsteemide ja laborite puhul keskse tähtsusega parameeter, seega püüdsime nende eesmärkide saavutamiseks liita HYT939 arduino nanoga. Selles õpetuses on näidatud HYT939 andurimooduli liidestamist arduino nanoga.

Niiskuse väärtuste lugemiseks oleme kasutanud arduino koos I2c adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.

Sideprotokoll, millel andur töötab, on I2C. I2C tähistab integraallülitust. See on suhtlusprotokoll, milles side toimub SDA (jadaandmed) ja SCL (jadakell) liinide kaudu. See võimaldab ühendada mitu seadet korraga. See on üks lihtsamaid ja tõhusamaid suhtlusprotokolle.

Samm: vajalik riistvara:

Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara

Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:

1. HYT939

2. Arduino Nano

3. I2C kaabel

4. I2C kilp Arduino nano jaoks

2. samm: riistvara ühendamine:

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja arduino nano 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:

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

Samm: Arduino niiskuse mõõtmise kood:

Arduino niiskuse mõõtmise kood
Arduino niiskuse mõõtmise kood
Arduino niiskuse mõõtmise kood
Arduino niiskuse mõõtmise kood

Alustame nüüd Arduinoo koodiga.

Arduinoga andurimoodulit kasutades kaasame Wire.h raamatukogu. Juhtmeraamatukogu sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja Arduino plaadi vahel.

Kogu Arduino kood on kasutaja mugavuse huvides toodud allpool:

#kaasake

// HYT939 I2C aadress on 0x28 (40)

#define Addr 0x28

tühine seadistus ()

{

// Initsialiseeri I2C side kui MASTER

Wire.begin ();

// Initsialiseeri jadakommunikatsioon

Seriaalne algus (9600);

viivitus (300);

}

tühine tsükkel ()

{

allkirjastamata int andmed [4];

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Saada tavarežiimi käsk

Wire.write (0x80);

// Peata I2C edastamine

Wire.endTransmission ();

viivitus (300);

// Taotle 4 baiti andmeid

Wire.requestFrom (Addr, 4);

// Loe 4 baiti andmeid

// niiskus msb, niiskus lsb, temp msb, temp lsb

kui (Wire.available () == 4)

{

andmed [0] = Wire.read ();

andmed [1] = Wire.read ();

andmed [2] = Wire.read ();

andmed [3] = Wire.read ();

// Teisendage andmed 14-bitisteks

ujuki niiskus = (((andmed [0] & 0x3F) * 256,0) + andmed [1]) * (100,0 / 16383,0);

ujuk cTemp = (((andmed [2] * 256,0) + (andmed [3] ja 0xFC)) / 4) * (165,0 / 16383,0) - 40;

ujuk fTemp = (cTemp * 1,8) + 32;

// Andmete väljastamine jadamonitorile

Serial.print ("Suhteline õhuniiskus:");

Serial.print (niiskus);

Serial.println (" %RH");

Serial.print ("Temperatuur Celsiuse järgi:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Temperatuur Fahrenheiti järgi:");

Serial.print (fTemp);

Serial.println ("F");

}

viivitus (300);

}

Traaditeegis kasutatakse käskude kirjutamiseks ja anduri väljundi lugemiseks Wire.write () ja Wire.read (). Järgnev osa koodist illustreerib anduri väljundi lugemist.

// Loe 4 baiti andmeid // niiskus msb, niiskus lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); andmed [1] = Wire.read (); andmed [2] = Wire.read (); andmed [3] = Wire.read ();

}

Anduri väljund on näidatud ülaltoodud pildil.

4. samm: rakendused:

Rakendused
Rakendused

HYT939 on tõhus digitaalne niiskusandur, mida kasutatakse meditsiinisüsteemides, autoklaavides. Selle andurimooduli kasutamist leiavad ka rõhu kastepunkti mõõtmise ja kuivatamise süsteemid. Erinevates laboratooriumides, kus sobiv niiskustase on katsete läbiviimisel keskseks parameetriks, saab seda andurit kasutada niiskuse mõõtmiseks.

Soovitan: