Tartalomjegyzék:

Raspberry Pi HTS221 Relatív páratartalom és hőmérséklet érzékelő Java bemutató: 4 lépés
Raspberry Pi HTS221 Relatív páratartalom és hőmérséklet érzékelő Java bemutató: 4 lépés

Videó: Raspberry Pi HTS221 Relatív páratartalom és hőmérséklet érzékelő Java bemutató: 4 lépés

Videó: Raspberry Pi HTS221 Relatív páratartalom és hőmérséklet érzékelő Java bemutató: 4 lépés
Videó: Xiaomi Mi Air Purifier 2 AC-M2-AA - очиститель воздуха для умного дома mihome 2024, November
Anonim
Image
Image

A HTS221 egy ultrakompakt kapacitív digitális érzékelő a relatív páratartalomhoz és a hőmérséklethez. Tartalmaz egy érzékelő elemet és egy vegyes jelműspecifikus integrált áramkört (ASIC) a mérési információk digitális soros interfészeken keresztül történő biztosítására. Sok funkcióval integrálva ez az egyik legmegfelelőbb érzékelő a kritikus páratartalom és hőmérséklet mérésekhez. Itt a bemutató egy java kóddal a Raspberry Pi segítségével.

1. lépés: Amire szüksége van..

Amire szükséged van..!!
Amire szükséged van..!!

1. Málna Pi

2. HTS221

3. I²C kábel

4. I²C pajzs a Raspberry Pi számára

5. Ethernet kábel

2. lépés: Csatlakozások:

Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások

Vegyünk egy I2C pajzsot a málna pi számára, és óvatosan toljuk át a málna pi gpio csapjaira.

Ezután csatlakoztassa az I2C kábel egyik végét a HTS221 érzékelőhöz, a másik végét pedig az I2C árnyékoláshoz.

Csatlakoztassa az Ethernet kábelt is a pi -hez, vagy használhat WiFi modult.

A csatlakozásokat a fenti kép mutatja.

3. lépés: Kód:

Kód
Kód

A HTS221 python kódja letölthető a github tárhelyünkről-Dcube Store

Itt a link ugyanerre:

github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java

A java kódhoz pi4j könyvtárat használtunk, a pi4j málna pi -re történő telepítésének lépéseit itt írjuk le:

pi4j.com/install.html

Innen is másolhatja a kódot, ez a következőképpen van megadva:

// Szabad akaratú licenccel terjesztik.

// Bármilyen módon használhatja, haszonnal vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez.

// HTS221

// Ez a kód a HTS221_I2CS I2C Mini modullal való együttműködésre készült.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

public class HTS221 {public static void main (String args ) dobja Kivétel

{

// I2CBus létrehozása

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

// I2C eszköz beszerzése, a HTS221 I2C címe 0x5F (95)

I2CDevice device = bus.getDevice (0x5F);

// Válassza ki az átlagos konfigurációs regisztert

// Hőmérséklet átlagos minták = 16, páratartalom átlagos minták = 32

device.write (0x10, (bájt) 0x1B);

// Vezérlőregiszter kiválasztása1

// Bekapcsolás, blokk adatfrissítés, adatsebesség o/p = 1 Hz

device.write (0x20, (bájt) 0x85);

Téma.alvás (500);

// Olvassa le a kalibrálási értékeket az eszköz nem felejtő memóriájából

// Páratartalom kalibrációs értékek

bájt val = új bájt [2];

// 1 bájt adat olvasása a 0x30 címről (48)

val [0] = (bájt) device.read (0x30);

// 1 bájt adat olvasása a 0x31 címről (49)

val [1] = (bájt) device.read (0x31);

int H0 = (val [0] és 0xFF) / 2;

int H1 = (val [1] & 0xFF) / 2;

// 1 bájt adat olvasása a 0x36 címről (54)

val [0] = (bájt) device.read (0x36);

// 1 bájt adat olvasása a 0x37 címről (55)

val [1] = (bájt) device.read (0x37);

int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// 1 bájt adat olvasása a 0x3A címről (58)

val [0] = (bájt) device.read (0x3A);

// 1 bájt adat olvasása a 0x3B címről (59)

val [1] = (bájt) device.read (0x3B);

int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Hőmérséklet kalibrációs értékek

// 1 bájt adat olvasása a 0x32 címről (50)

int T0 = ((byte) device.read (0x32) & 0xFF);

// 1 bájt adat olvasása a 0x33 címről (51)

int T1 = ((byte) device.read (0x33) & 0xFF);

// 1 bájt adat olvasása a 0x35 címről (53)

int nyers = ((byte) device.read (0x35) & 0x0F);

// A hőmérséklet kalibrálási értékeinek átalakítása 10 bitre

T0 = ((nyers & 0x03) * 256) + T0;

T1 = ((nyers & 0x0C) * 64) + T1;

// 1 bájt adat olvasása a 0x3C címről (60)

val [0] = (bájt) device.read (0x3C);

// 1 bájt adat olvasása a 0x3D címről (61)

val [1] = (bájt) device.read (0x3D);

int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// 1 bájt adat olvasása a 0x3E címről (62)

val [0] = (bájt) device.read (0x3E);

// 1 bájt adat olvasása a 0x3F címről (63)

val [1] = (bájt) device.read (0x3F);

int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// 4 bájt adat olvasása

// hum msb, hum lsb, temp msb, temp lsb

bájt adat = új bájt [4]; device.read (0x28 | 0x80, data, 0, 4);

// Konvertálja az adatokat

int hum = (([1] és 0xFF) * 256) + (adatok [0] & 0xFF);

int temp = ((adatok [3] és 0xFF) * 256) + (adatok [2] és 0xFF);

ha (hőmérséklet> 32767)

{

hőmérséklet -= 65536;

}

kettős páratartalom = ((1,0 * H1) - (1,0 * H0)) * (1,0 * hum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);

kettős cTemp = ((T1 - T0) / 8,0) * (hőmérséklet - T2) / (T3 - T2) + (T0 / 8,0);

kettős fTemp = (cTemp * 1,8) + 32;

// Adatok megjelenítése a képernyőn

System.out.printf ("Relatív páratartalom: %.2f %% RH %n", páratartalom);

System.out.printf ("Hőmérséklet Celsius -ban: %.2f C %n", cTemp);

System.out.printf ("Hőmérséklet Fahrenheitben: %.2f F %n", fTemp);

}

}

4. lépés: Alkalmazások:

A HTS221 alkalmazható különféle fogyasztási cikkekben, például légnedvesítőkben és hűtőszekrényekben. Ez az érzékelő szélesebb körben is alkalmazható, beleértve az intelligens otthoni automatizálást, az ipari automatizálást, a légzőkészülékeket, az eszközök és áruk nyomon követését.

Ajánlott: