Innholdsfortegnelse:

Raspberry Pi HTS221 Relativ fuktighets- og temperatursensor Java Opplæring: 4 trinn
Raspberry Pi HTS221 Relativ fuktighets- og temperatursensor Java Opplæring: 4 trinn

Video: Raspberry Pi HTS221 Relativ fuktighets- og temperatursensor Java Opplæring: 4 trinn

Video: Raspberry Pi HTS221 Relativ fuktighets- og temperatursensor Java Opplæring: 4 trinn
Video: Raspberry Pi HTS221 Relative Humidity and Temperature Sensor Java Tutorial 2024, November
Anonim
Image
Image

HTS221 er en ultrakompakt kapasitiv digital sensor for relativ fuktighet og temperatur. Den inneholder et følerelement og en spesifikk integrert krets (ASIC) for blandet signal for å gi måleinformasjonen gjennom digitale serielle grensesnitt. Integrert med så mange funksjoner, dette er en av de mest passende sensorene for kritiske fuktighets- og temperaturmålinger. Her er demonstrasjonen med en java -kode ved bruk av Raspberry Pi.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Bringebær Pi

2. HTS221

3. I²C -kabel

4. I²C Shield for Raspberry Pi

5. Ethernet -kabel

Trinn 2: Tilkoblinger:

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.

Koble deretter den ene enden av I2C -kabelen til HTS221 -sensoren og den andre enden til I2C -skjoldet.

Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Python-koden for HTS221 kan lastes ned fra vår github repository-Dcube Store

Her er lenken til det samme:

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

Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:

pi4j.com/install.html

Du kan også kopiere koden herfra, den er gitt som følger:

// Distribuert med en fri viljelisens.

// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

// HTS221

// Denne koden er designet for å fungere med HTS221_I2CS I2C Mini Module.

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDenhet;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

public class HTS221 {public static void main (String args ) kaster Unntak

{

// Lag I2CBus

I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1);

// Få I2C -enhet, HTS221 I2C -adresse er 0x5F (95)

I2CDevice -enhet = bus.getDevice (0x5F);

// Velg gjennomsnittlig konfigurasjonsregister

// Temperatur gjennomsnittlige prøver = 16, gjennomsnittlige fuktighetsprøver = 32

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

// Velg kontrollregister1

// Slå på, blokker dataoppdatering, datahastighet o/p = 1 Hz

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

Tråd. Sover (500);

// Les kalibreringsverdier fra enhetens ikke-flyktige minne

// Verdier for fuktighetskalibrering

byte val = ny byte [2];

// Les 1 byte data fra adresse 0x30 (48)

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

// Les 1 byte data fra adresse 0x31 (49)

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

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

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

// Les 1 byte data fra adresse 0x36 (54)

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

// Les 1 byte data fra adresse 0x37 (55)

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

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

// Les 1 byte data fra adresse 0x3A (58)

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

// Les 1 byte data fra adresse 0x3B (59)

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

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

// Temperaturkalibreringsverdier

// Les 1 byte data fra adresse 0x32 (50)

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

// Les 1 byte data fra adresse 0x33 (51)

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

// Les 1 byte data fra adresse 0x35 (53)

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

// Konverter temperaturkalibreringsverdiene til 10-bits

T0 = ((rå & 0x03) * 256) + T0;

T1 = ((rå & 0x0C) * 64) + T1;

// Les 1 byte data fra adresse 0x3C (60)

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

// Les 1 byte data fra adresse 0x3D (61)

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

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

// Les 1 byte data fra adresse 0x3E (62)

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

// Les 1 byte data fra adresse 0x3F (63)

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

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

// Les 4 byte med data

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

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

// Konverter dataene

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

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

hvis (temp> 32767)

{

temperatur -= 65536;

}

dobbel fuktighet = ((1,0 * H1) - (1,0 * H0)) * (1,0 * brum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);

dobbel cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);

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

// Utdata til skjermen

System.out.printf ("Relativ fuktighet: %.2f %% RH %n", fuktighet);

System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp);

System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp);

}

}

Trinn 4: Søknader:

HTS221 kan brukes i forskjellige forbrukerprodukter som luftfuktere og kjøleskap etc. Denne sensoren finner også sin anvendelse på en bredere arena, inkludert smart hjemmeautomatisering, industriell automatisering, åndedrettsutstyr, eiendeler og varesporing.

Anbefalt: