Kazalo:

Merjenje vlažnosti z uporabo HYT939 in Arduino Nano: 4 koraki
Merjenje vlažnosti z uporabo HYT939 in Arduino Nano: 4 koraki

Video: Merjenje vlažnosti z uporabo HYT939 in Arduino Nano: 4 koraki

Video: Merjenje vlažnosti z uporabo HYT939 in Arduino Nano: 4 koraki
Video: Zigbee датчик освещенности, температуры и влажности с экраном на электронных чернилах Moes 2024, November
Anonim
Image
Image

HYT939 je digitalni senzor vlažnosti, ki deluje po komunikacijskem protokolu I2C. Vlažnost je ključni parameter pri medicinskih sistemih in laboratorijih, zato smo za dosego teh ciljev poskušali povezati HYT939 z arduino nano. V tem vodiču je prikazano povezovanje senzorskega modula HYT939 z arduino nano.

Za branje vrednosti vlažnosti smo uporabili arduino z adapterjem I2c, ki omogoča enostavno in zanesljivo povezavo s senzorskim modulom.

Komunikacijski protokol, na katerem deluje senzor, je I2C. I2C pomeni vmesno vezje. To je komunikacijski protokol, v katerem komunikacija poteka prek linij SDA (serijski podatki) in SCL (serijska ura). Omogoča povezovanje več naprav hkrati. Je eden najpreprostejših in najučinkovitejših komunikacijskih protokolov.

1. korak: Potrebna strojna oprema:

Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema

Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:

1. HYT939

2. Arduino Nano

3. Kabel I2C

4. I2C ščit za Arduino nano

2. korak: Priključitev strojne opreme:

Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme

Oddelek za priključitev strojne opreme v bistvu pojasnjuje potrebne ožičenje med senzorjem in arduino nano. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:

HYT939 bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.

Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!

Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.

Te povezave so prikazane na zgornjih slikah.

3. korak: Arduino koda za merjenje vlažnosti:

Arduino koda za merjenje vlažnosti
Arduino koda za merjenje vlažnosti
Arduino koda za merjenje vlažnosti
Arduino koda za merjenje vlažnosti

Začnimo s kodo Arduinoo.

Med uporabo senzorskega modula z Arduinom vključujemo knjižnico Wire.h. Knjižnica "Wire" vsebuje funkcije, ki olajšajo komunikacijo i2c med senzorjem in ploščo Arduino.

Celotna koda Arduino je podana spodaj za udobje uporabnika:

#vključi

// Naslov HYT939 I2C je 0x28 (40)

#define Addr 0x28

void setup ()

{

// Inicializirajte komunikacijo I2C kot MASTER

Wire.begin ();

// Začetek serijske komunikacije

Serial.begin (9600);

zamuda (300);

}

void loop ()

{

podpisani int podatki [4];

// Zagon prenosa I2C

Wire.beginTransmission (Addr);

// Pošlji ukaz normalnega načina

Wire.write (0x80);

// Ustavi prenos I2C

Wire.endTransmission ();

zamuda (300);

// Zahtevajte 4 bajte podatkov

Wire.requestFrom (Addr, 4);

// Branje 4 bajtov podatkov

// vlažnost msb, vlažnost lsb, temp msb, temp lsb

če (Wire.available () == 4)

{

podatki [0] = Wire.read ();

podatki [1] = Wire.read ();

podatki [2] = Wire.read ();

podatki [3] = Wire.read ();

// Pretvorimo podatke v 14-bitne

vlažnost plovca = (((podatki [0] & 0x3F) * 256,0) + podatki [1]) * (100,0 / 16383,0);

float cTemp = (((podatki [2] * 256,0) + (podatki [3] & 0xFC)) / 4) * (165,0 / 16383,0) - 40;

float fTemp = (cTemp * 1.8) + 32;

// Izhodni podatki na serijski monitor

Serial.print ("Relativna vlažnost:");

Serijski.tisk (vlažnost);

Serial.println (" %RH");

Serial.print ("Temperatura v Celzijusi:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Temperatura v Fahrenheitu:");

Serial.print (fTemp);

Serial.println ("F");

}

zamuda (300);

}

V knjižnici žic Wire.write () in Wire.read () se uporabljata za pisanje ukazov in branje izhoda senzorja. Naslednji del kode prikazuje branje izhoda senzorja.

// Preberite 4 bajte podatkov // vlažnost msb, vlažnost lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); podatki [1] = Wire.read (); podatki [2] = Wire.read (); podatki [3] = Wire.read ();

}

Izhod senzorja je prikazan na zgornji sliki.

4. korak: Aplikacije:

Aplikacije
Aplikacije

HYT939 kot učinkovit digitalni senzor vlažnosti se uporablja v medicinskih sistemih, avtoklavih. Sistemi za merjenje tlačne točke rosišča in sušenje prav tako najdejo uporabo tega senzorskega modula. V različnih laboratorijih, kjer je ustrezna raven vlažnosti ključni parameter za izvajanje poskusov, je mogoče ta senzor uporabiti za merjenje vlažnosti.

Priporočena: