Sisällysluettelo:

Raspberry Pi HTS221 Suhteellisen kosteuden ja lämpötilan anturin Java -opetusohjelma: 4 vaihetta
Raspberry Pi HTS221 Suhteellisen kosteuden ja lämpötilan anturin Java -opetusohjelma: 4 vaihetta

Video: Raspberry Pi HTS221 Suhteellisen kosteuden ja lämpötilan anturin Java -opetusohjelma: 4 vaihetta

Video: Raspberry Pi HTS221 Suhteellisen kosteuden ja lämpötilan anturin Java -opetusohjelma: 4 vaihetta
Video: BME280 Sensor Test with Arduino: pressure, humidity and temperature for the New Chronograph Project 2024, Joulukuu
Anonim
Image
Image

HTS221 on erittäin kompakti kapasitiivinen digitaalinen anturi suhteelliseen kosteuteen ja lämpötilaan. Se sisältää anturielementin ja sekoitussignaalisovelluskohtaisen integroidun piirin (ASIC) mittaustietojen toimittamiseksi digitaalisten sarjaliitäntöjen kautta. Integroitu niin moniin ominaisuuksiin, tämä on yksi sopivimmista antureista kriittisille kosteus- ja lämpötilamittauksille. Tässä on esittely java -koodilla, joka käyttää Raspberry Pi: tä.

Vaihe 1: Mitä tarvitset..

Mitä tarvitset..!!
Mitä tarvitset..!!

1. Vadelma Pi

2. HTS221

3. I²C -kaapeli

4. I²C -kilpi Raspberry Pi: lle

5. Ethernet -kaapeli

Vaihe 2: Liitännät:

Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät

Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.

Liitä sitten I2C -kaapelin toinen pää HTS221 -anturiin ja toinen pää I2C -suojaan.

Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia.

Liitännät näkyvät yllä olevassa kuvassa.

Vaihe 3: Koodi:

Koodi
Koodi

HTS221: n python-koodin voi ladata github-arkistostamme-Dcube Storesta

Tässä linkki samaan:

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

Olemme käyttäneet java -koodille pi4j -kirjastoa, vaiheet pi4j: n asentamiseksi vadelma pi: lle on kuvattu tässä:

pi4j.com/install.html

Voit myös kopioida koodin täältä, se annetaan seuraavasti:

// Jaetaan vapaaehtoisella lisenssillä.

// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.

// HTS221

// Tämä koodi on suunniteltu toimimaan HTS221_I2CS I2C Mini -moduulin kanssa.

tuonti com.pi4j.io.i2c. I2CBus;

tuoda com.pi4j.io.i2c. I2CDevice;

tuonti com.pi4j.io.i2c. I2CFactory;

tuoda java.io. IOException;

public class HTS221 {public static void main (String args ) heittää Poikkeus

{

// Luo I2CBus

I2CBus -väylä = I2CFactory.getInstance (I2CBus. BUS_1);

// Hanki I2C -laite, HTS221 I2C -osoite on 0x5F (95)

I2CDlaitelaite = väylä.getDevice (0x5F);

// Valitse keskimääräinen määritysrekisteri

// Lämpötilan keskimääräiset näytteet = 16, kosteuden keskimääräiset näytteet = 32

device.write (0x10, (tavu) 0x1B);

// Valitse ohjausrekisteri 1

// Käynnistä, estä tietojen päivitys, tiedonsiirtonopeus o/p = 1 Hz

device.write (0x20, (tavu) 0x85);

Kierteet.unen (500);

// Lue kalibrointiarvot laitteen haihtumattomasta muistista

// Kosteuden kalibrointiarvot

tavu val = uusi tavu [2];

// Lue 1 tavu dataa osoitteesta 0x30 (48)

val [0] = (tavu) device.read (0x30);

// Lue 1 tavu dataa osoitteesta 0x31 (49)

val [1] = (tavu) device.read (0x31);

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

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

// Lue 1 tavu dataa osoitteesta 0x36 (54)

val [0] = (tavu) device.read (0x36);

// Lue 1 tavu dataa osoitteesta 0x37 (55)

val [1] = (tavu) device.read (0x37);

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

// Lue 1 tavu dataa osoitteesta 0x3A (58)

val [0] = (tavu) device.read (0x3A);

// Lue 1 tavu dataa osoitteesta 0x3B (59)

val [1] = (tavu) device.read (0x3B);

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

// Lämpötilan kalibrointiarvot

// Lue 1 tavu dataa osoitteesta 0x32 (50)

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

// Lue 1 tavu dataa osoitteesta 0x33 (51)

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

// Lue 1 tavu dataa osoitteesta 0x35 (53)

int raaka = ((tavu) device.read (0x35) & 0x0F);

// Muunna lämpötilan kalibrointiarvot 10-bittisiksi

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

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

// Lue 1 tavu dataa osoitteesta 0x3C (60)

val [0] = (tavu) device.read (0x3C);

// Lue 1 tavu dataa osoitteesta 0x3D (61)

val [1] = (tavu) device.read (0x3D);

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

// Lue 1 tavu dataa osoitteesta 0x3E (62)

val [0] = (tavu) device.read (0x3E);

// Lue 1 tavu dataa osoitteesta 0x3F (63)

val [1] = (tavu) device.read (0x3F);

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

// Lue 4 tavua dataa

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

tavu data = uusi tavu [4]; device.read (0x28 | 0x80, data, 0, 4);

// Muunna tiedot

int hum = ((data [1] & 0xFF) * 256) + (data [0] & 0xFF);

int temp = ((data [3] & 0xFF) * 256) + (data [2] & 0xFF);

jos (lämpötila> 32767)

{

lämpötila -= 65536;

}

kaksinkertainen kosteus = (((1,0 * H1) - (1,0 * H0)) * (1,0 * hum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);

kaksinkertainen cTemp = ((T1 - T0) / 8,0) * (lämpötila - T2) / (T3 - T2) + (T0 / 8,0);

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

// Tulosta tiedot näytölle

System.out.printf ("Suhteellinen kosteus: %.2f %% RH %n", kosteus);

System.out.printf ("Lämpötila celsiusasteina: %.2f C %n", cTemp);

System.out.printf ("Lämpötila Fahrenheit: %.2f F %n", fTemp);

}

}

Vaihe 4: Sovellukset:

HTS221: tä voidaan käyttää erilaisissa kulutustavaroissa, kuten ilmankostuttimissa ja jääkaappeissa.

Suositeltava: