Indholdsfortegnelse:

Raspberry Pi HTS221 Relativ fugtigheds- og temperatursensor Java Tutorial: 4 trin
Raspberry Pi HTS221 Relativ fugtigheds- og temperatursensor Java Tutorial: 4 trin

Video: Raspberry Pi HTS221 Relativ fugtigheds- og temperatursensor Java Tutorial: 4 trin

Video: Raspberry Pi HTS221 Relativ fugtigheds- og temperatursensor Java Tutorial: 4 trin
Video: Raspberry Pi with Java 9 2024, December
Anonim
Image
Image

HTS221 er en ultrakompakt kapacitiv digital sensor til relativ luftfugtighed og temperatur. Det inkluderer et følerelement og et blandet signal applikationsspecifikt integreret kredsløb (ASIC) til at levere måleoplysningerne gennem digitale serielle grænseflader. Integreret med så mange funktioner er dette en af de mest passende sensorer til kritiske fugtigheds- og temperaturmålinger. Her er demonstrationen med en java -kode ved hjælp af Raspberry Pi.

Trin 1: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!

1. Hindbær Pi

2. HTS221

3. I²C -kabel

4. I²C Shield til Raspberry Pi

5. Ethernet -kabel

Trin 2: Forbindelser:

Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger

Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.

Tilslut derefter den ene ende af I2C -kablet til HTS221 -sensoren og den anden ende til I2C -skærmen.

Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.

Forbindelser er vist på billedet ovenfor.

Trin 3: Kode:

Kode
Kode

Python-koden til HTS221 kan downloades fra vores github repository-Dcube Store

Her er linket til det samme:

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

Vi har brugt pi4j bibliotek til java -kode, trinene til at installere pi4j på hindbær pi er beskrevet her:

pi4j.com/install.html

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

// Distribueret med en fri vilje licens.

// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.

// HTS221

// Denne kode er designet til at fungere med HTS221_I2CS I2C Mini Module.

importer 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 ) kaster undtagelse

{

// Opret I2CBus

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

// Hent I2C -enhed, HTS221 I2C -adresse er 0x5F (95)

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

// Vælg gennemsnitligt konfigurationsregister

// Temperatur gennemsnitlige prøver = 16, gennemsnitlige fugtighedsprøver = 32

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

// Vælg kontrolregister1

// Tænd, blokdataopdatering, datahastighed o/p = 1 Hz

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

Tråd. Sover (500);

// Læs kalibreringsværdier fra enhedens ikke-flygtige hukommelse

// Fugtighedskalibreringsværdier

byte val = ny byte [2];

// Læs 1 byte data fra adresse 0x30 (48)

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

// Læs 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;

// Læs 1 byte data fra adresse 0x36 (54)

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

// Læs 1 byte data fra adresse 0x37 (55)

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

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

// Læs 1 byte data fra adresse 0x3A (58)

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

// Læs 1 byte data fra adresse 0x3B (59)

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

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

// Temperaturkalibreringsværdier

// Læs 1 byte data fra adresse 0x32 (50)

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

// Læs 1 byte data fra adresse 0x33 (51)

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

// Læs 1 byte data fra adresse 0x35 (53)

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

// Konverter temperaturkalibreringsværdierne til 10-bit

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

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

// Læs 1 byte data fra adresse 0x3C (60)

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

// Læs 1 byte data fra adresse 0x3D (61)

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

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

// Læs 1 byte data fra adresse 0x3E (62)

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

// Læs 1 byte data fra adresse 0x3F (63)

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

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

// Læs 4 bytes 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)

{

temp -= 65536;

}

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

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

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

// Output data til skærmen

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

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

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

}

}

Trin 4: Ansøgninger:

HTS221 kan bruges i forskellige forbrugerprodukter som luftfugtere og køleskabe osv. Denne sensor finder også sin anvendelse i en bredere arena, herunder smart hjemmeautomatisering, industriel automatisering, åndedrætsudstyr, aktiv- og varesporing.

Anbefalede: