Kazalo:

Merjenje vlažnosti z uporabo HYT939 in Raspberry Pi: 4 koraki
Merjenje vlažnosti z uporabo HYT939 in Raspberry Pi: 4 koraki

Video: Merjenje vlažnosti z uporabo HYT939 in Raspberry Pi: 4 koraki

Video: Merjenje vlažnosti z uporabo HYT939 in Raspberry Pi: 4 koraki
Video: Часть 5 - Аудиокнига Уолдена Генри Дэвида Торо (глы 12–15) 2024, Julij
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 malinovim pi. V tej vadnici je prikazano povezovanje senzorskega modula HYT939 z malino pi, ponazorjeno pa je tudi njegovo programiranje z jezikom Java.

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

1. korak: Potrebna strojna oprema:

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

Strojna oprema, ki je potrebna za izvedbo naloge, je naslednja:

1. HYT939

2. Malina Pi

3. Kabel I2C

4. I2C ščit za Raspberry Pi

5. Ethernetni kabel

-

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 razlaga potrebne povezave ožičenja med senzorjem in malinovim pi. 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: Koda Java za merjenje vlažnosti:

Java koda za merjenje vlažnosti
Java koda za merjenje vlažnosti
Java koda za merjenje vlažnosti
Java koda za merjenje vlažnosti

Prednost uporabe maline pi je, da vam omogoča prilagodljivost programskega jezika, v katerem želite programirati ploščo, da povežete senzor z njo. Če izkoristimo to prednost te plošče, tukaj dokazujemo njeno programiranje v Javi. Kodo java za HYT939 lahko prenesete iz naše skupnosti github, ki je Dcube Store.

Poleg lažjega uporabnika kodo razlagamo tudi tukaj:

Kot prvi korak kodiranja morate prenesti knjižnico pi4j v primeru jave, ker ta knjižnica podpira funkcije, ki se uporabljajo v kodi. Če želite prenesti knjižnico, obiščite naslednjo povezavo:

pi4j.com/install.html

Delovno kodo java za ta senzor lahko kopirate tudi tukaj:

uvoz com.pi4j.io.i2c. I2CBus;

uvoz com.pi4j.io.i2c. I2CDevice;

uvoz com.pi4j.io.i2c. I2CFactory;

uvoz java.io. IOException;

javni razred HYT939

{

public static void main (String args ) vrže Exception

{

// Ustvari I2CBus

Vodilo I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Pridobite napravo I2C, naslov HYT939 I2C je 0x28 (40)

Naprava I2CDevice = bus.getDevice (0x28);

// Pošlji ukaz normalnega načina

device.write ((bajt) 0x80);

Thread.sleep (500);

// Branje 4 bajtov podatkov

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

bajt podatki = novi bajt [4];

device.read (podatki, 0, 4);

// Pretvorimo podatke v 14-bitne

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

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

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

// Izhod podatkov na zaslon

System.out.printf ("Relativna vlažnost je: %.2f %% RH %n", vlažnost);

System.out.printf ("Temperatura v Celziju je: %.2f C %n", cTemp);

System.out.printf ("Temperatura v Fahrenheitu je: %.2f F %n", fTemp);

}

}

Knjižnica, ki olajša komunikacijo i2c med senzorjem in ploščo, je pi4j, njeni različni paketi I2CBus, I2CDevice in I2CFactory pa pomagajo vzpostaviti povezavo.

uvoz com.pi4j.io.i2c. I2CBus; uvoz com.pi4j.io.i2c. I2CDevice; uvoz com.pi4j.io.i2c. I2CFactory; uvoz java.io. IOException;

funkcije write () in read () se uporabljajo za zapisovanje določenih ukazov na senzor, da deluje v določenem načinu, in za branje izhoda senzorja. Naslednji del kode prikazuje uporabo teh funkcij.

// Pošlji ukaz normalnega načina device.write ((byte) 0x80); Thread.sleep (500); // beremo 4 bajte podatkov // vlažnost msb, vlažnost lsb, temp msb, temp lsb bajt podatki = novi bajt [4]; device.read (podatki, 0, 4);

Izhod senzorja je prikazan tudi 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: