Turinys:

„Raspberry Pi HTS221“santykinio drėgmės ir temperatūros jutiklio „Java“pamoka: 4 žingsniai
„Raspberry Pi HTS221“santykinio drėgmės ir temperatūros jutiklio „Java“pamoka: 4 žingsniai

Video: „Raspberry Pi HTS221“santykinio drėgmės ir temperatūros jutiklio „Java“pamoka: 4 žingsniai

Video: „Raspberry Pi HTS221“santykinio drėgmės ir temperatūros jutiklio „Java“pamoka: 4 žingsniai
Video: Raspberry Pi HTS221 Relative Humidity and Temperature Sensor Java Tutorial 2024, Liepa
Anonim
Image
Image

HTS221 yra ypač kompaktiškas talpinis skaitmeninis jutiklis, skirtas santykiniam drėgnumui ir temperatūrai. Jame yra jutimo elementas ir mišraus signalo taikymo integruotas grandynas (ASIC), skirtas pateikti matavimo informaciją per skaitmenines nuoseklias sąsajas. Integruotas su daugybe funkcijų, tai yra vienas tinkamiausių jutiklių kritiniams drėgmės ir temperatūros matavimams. Štai demonstracija su „Java“kodu naudojant „Raspberry Pi“.

1 žingsnis: ko jums reikia..

Ko tau reikia..!!
Ko tau reikia..!!

1. Avietė Pi

2. HTS221

3. I²C kabelis

4. „I²C Shield“, skirtas „Raspberry Pi“

5. Ethernet kabelis

2 žingsnis: jungtys:

Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai

Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.

Tada vieną I2C kabelio galą prijunkite prie HTS221 jutiklio, o kitą - prie I2C skydo.

Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.

Sujungimai parodyti aukščiau esančiame paveikslėlyje.

3 žingsnis: kodas:

Kodas
Kodas

HTS221 python kodą galima atsisiųsti iš mūsų „github“saugyklos „Dcube Store“

Čia yra nuoroda į tą patį:

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

„Java“kodui naudojome „pi4j“biblioteką, čia aprašyti veiksmai, kaip įdiegti „pi4j“į aviečių pi:

pi4j.com/install.html

Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:

// Platinama su laisvos valios licencija.

// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.

// HTS221

// Šis kodas skirtas dirbti su „HTS221_I2CS I2C Mini“moduliu.

importuoti com.pi4j.io.i2c. I2CBus;

importuoti com.pi4j.io.i2c. I2CDevice;

importuoti com.pi4j.io.i2c. I2CFactory;

importuoti java.io. IOException;

public class HTS221 {public static void main (String args ) metimai Išimtis

{

// Sukurkite I2CBus

I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);

// Gauti I2C įrenginį, HTS221 I2C adresas yra 0x5F (95)

I2CDĮrenginio įrenginys = autobusas.getDevice (0x5F);

// Pasirinkite vidutinį konfigūracijos registrą

// Vidutiniai temperatūros mėginiai = 16, vidutiniai drėgmės mėginiai = 32

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

// Pasirinkite valdymo registrą1

// Įjungimas, blokuojamas duomenų atnaujinimas, duomenų perdavimo sparta o/p = 1 Hz

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

Siūlai.miegoti (500);

// Kalibravimo reikšmes skaitykite iš nepastovios įrenginio atminties

// Drėgmės kalibravimo vertės

baitas val = naujas baitas [2];

// Skaityti 1 baitą duomenų iš adreso 0x30 (48)

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

// Skaityti 1 baitą duomenų iš adreso 0x31 (49)

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

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

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

// Skaityti 1 baitą duomenų iš adreso 0x36 (54)

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

// Skaityti 1 baitą duomenų iš adreso 0x37 (55)

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

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

// Skaityti 1 baitą duomenų iš adreso 0x3A (58)

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

// Skaityti 1 baitą duomenų iš adreso 0x3B (59)

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

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

// Temperatūros kalibravimo vertės

// Skaityti 1 baitą duomenų iš adreso 0x32 (50)

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

// Skaityti 1 baitą duomenų iš adreso 0x33 (51)

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

// Skaityti 1 baitą duomenų iš adreso 0x35 (53)

int raw = ((baitas) device.read (0x35) & 0x0F);

// Konvertuokite temperatūros kalibravimo vertes į 10 bitų

T0 = ((neapdorotas ir 0x03) * 256) + T0;

T1 = ((neapdorota ir 0x0C) * 64) + T1;

// Skaityti 1 baitą duomenų iš adreso 0x3C (60)

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

// Skaityti 1 baitą duomenų iš adreso 0x3D (61)

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

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

// Skaityti 1 baitą duomenų iš adreso 0x3E (62)

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

// Skaityti 1 baitą duomenų iš adreso 0x3F (63)

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

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

// Perskaitykite 4 baitus duomenų

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

baitas duomenys = naujas baitas [4]; device.read (0x28 | 0x80, duomenys, 0, 4);

// Konvertuoti duomenis

int hum = ((duomenys [1] ir 0xFF) * 256) + (duomenys [0] ir 0xFF);

int temp = ((duomenys [3] ir 0xFF) * 256) + (duomenys [2] ir 0xFF);

jei (temperatūra> 32767)

{

temperatūra -= 65536;

}

dviguba drėgmė = ((1,0 * H1) - (1,0 * H0)) * (1,0 * hum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);

dvigubas cTemp = ((T1 - T0) / 8,0) * (temp - T2) / (T3 - T2) + (T0 / 8,0);

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

// Išvesti duomenis į ekraną

System.out.printf ("Santykinė drėgmė: %.2f %% RH %n", drėgmė);

System.out.printf ("Temperatūra Celsijaus: %.2f C %n", cTemp);

System.out.printf ("Temperatūra Farenheitu: %.2f F %n", fTemp);

}

}

4 žingsnis: programos:

HTS221 gali būti naudojamas įvairiose plataus vartojimo prekėse, tokiose kaip oro drėkintuvai ir šaldytuvai ir tt

Rekomenduojamas: