Satura rādītājs:

Raspberry Pi HTS221 relatīvā mitruma un temperatūras sensora Java apmācība: 4 soļi
Raspberry Pi HTS221 relatīvā mitruma un temperatūras sensora Java apmācība: 4 soļi

Video: Raspberry Pi HTS221 relatīvā mitruma un temperatūras sensora Java apmācība: 4 soļi

Video: Raspberry Pi HTS221 relatīvā mitruma un temperatūras sensora Java apmācība: 4 soļi
Video: BME280 Sensor Test with Arduino: pressure, humidity and temperature for the New Chronograph Project 2024, Novembris
Anonim
Image
Image

HTS221 ir īpaši kompakts kapacitatīvs digitālais sensors relatīvajam mitrumam un temperatūrai. Tas ietver sensoru elementu un jauktu signālu lietojumprogrammu integrētu shēmu (ASIC), lai sniegtu mērījumu informāciju, izmantojot digitālās sērijas saskarnes. Integrēts ar tik daudzām funkcijām, tas ir viens no vispiemērotākajiem sensoriem kritiskiem mitruma un temperatūras mērījumiem. Šeit ir demonstrācija ar java kodu, izmantojot Raspberry Pi.

1. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!

1. Aveņu Pi

2. HTS221

3. I²C kabelis

4. I²C vairogs Raspberry Pi

5. Ethernet kabelis

2. darbība. Savienojumi:

Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi

Paņemiet I2C vairogu aveņu pi un viegli piespiediet to pa aveņu pi gpio tapām.

Pēc tam pievienojiet I2C kabeļa vienu galu HTS221 sensoram un otru galu pie I2C vairoga.

Pievienojiet arī Ethernet kabeli pie pi vai varat izmantot WiFi moduli.

Savienojumi ir parādīti attēlā iepriekš.

3. darbība: kods:

Kods
Kods

HTS221 python kodu var lejupielādēt no mūsu github repozitorija-Dcube Store

Šeit ir saite uz to pašu:

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

Mēs esam izmantojuši pi4j bibliotēku Java kodam, soļi pi4j instalēšanai aveņu pi ir aprakstīti šeit:

pi4j.com/install.html

Varat arī nokopēt kodu no šejienes, tas ir norādīts šādi:

// Izplatīts ar brīvās gribas licenci.

// Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja tas iekļaujas saistīto darbu licencēs.

// HTS221

// Šis kods ir paredzēts darbam ar mini moduli HTS221_I2CS I2C.

importēt com.pi4j.io.i2c. I2CBus;

importēt com.pi4j.io.i2c. I2CDevice;

importēt com.pi4j.io.i2c. I2CFactory;

importēt java.io. IOException;

public class HTS221 {public static void main (String args ) metieni Izņēmums

{

// Izveidot I2CBus

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

// Iegūt I2C ierīci, HTS221 I2C adrese ir 0x5F (95)

I2CDierīces ierīce = bus.getDevice (0x5F);

// Izvēlieties vidējo konfigurācijas reģistru

// Vidējie temperatūras paraugi = 16, vidējie mitruma paraugi = 32

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

// Atlasiet vadības reģistru1

// Ieslēdziet, bloķējiet datu atjaunināšanu, datu pārraides ātrums o/p = 1 Hz

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

Vītne.miega (500);

// Lasiet kalibrēšanas vērtības no ierīces gaistošās atmiņas

// Mitruma kalibrēšanas vērtības

baits val = jauns baits [2];

// Nolasīt 1 baitu datu no adreses 0x30 (48)

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

// Nolasīt 1 baitu datu no adreses 0x31 (49)

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

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

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

// Nolasīt 1 baitu datu no adreses 0x36 (54)

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

// Nolasīt 1 baitu datu no adreses 0x37 (55)

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

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

// Nolasīt 1 baitu datu no adreses 0x3A (58)

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

// Nolasīt 1 baitu datu no adreses 0x3B (59)

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

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

// Temperatūras kalibrēšanas vērtības

// Nolasīt 1 baitu datu no adreses 0x32 (50)

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

// Nolasīt 1 baitu datu no adreses 0x33 (51)

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

// Nolasīt 1 baitu datu no adreses 0x35 (53)

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

// Pārvērtiet temperatūras kalibrēšanas vērtības uz 10 bitiem

T0 = ((neapstrādāts & 0x03) * 256) + T0;

T1 = ((neapstrādāta & 0x0C) * 64) + T1;

// Nolasīt 1 baitu datu no adreses 0x3C (60)

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

// Nolasīt 1 baitu datu no adreses 0x3D (61)

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

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

// Nolasīt 1 baitu datu no adreses 0x3E (62)

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

// Nolasīt 1 baitu datu no adreses 0x3F (63)

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

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

// Lasīt 4 baitus datu

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

baits dati = jauns baits [4]; device.read (0x28 | 0x80, dati, 0, 4);

// Konvertēt datus

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

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

ja (temperatūra> 32767)

{

temperatūra -= 65536;

}

divkāršs mitrums = ((1,0 * H1) - (1,0 * H0)) * (1,0 * hum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);

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

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

// Izvadiet datus ekrānā

System.out.printf ("Relatīvais mitrums: %.2f %% RH %n", mitrums);

System.out.printf ("Temperatūra pēc Celsija: %.2f C %n", cTemp);

System.out.printf ("Temperatūra pēc Fārenheita: %.2f F %n", fTemp);

}

}

4. darbība. Lietojumprogrammas:

HTS221 var izmantot dažādās patēriņa precēs, piemēram, gaisa mitrinātājos un ledusskapjos uc

Ieteicams: