Innehållsförteckning:

Raspberry Pi HTS221 Relativ fukt- och temperatursensor Java Handledning: 4 steg
Raspberry Pi HTS221 Relativ fukt- och temperatursensor Java Handledning: 4 steg

Video: Raspberry Pi HTS221 Relativ fukt- och temperatursensor Java Handledning: 4 steg

Video: Raspberry Pi HTS221 Relativ fukt- och temperatursensor Java Handledning: 4 steg
Video: Raspberry Pi HTS221 Relative Humidity and Temperature Sensor Java Tutorial 2024, Juli
Anonim
Image
Image

HTS221 är en ultrakompakt kapacitiv digital sensor för relativ luftfuktighet och temperatur. Den innehåller ett avkänningselement och en blandad signalapplikationsspecifik integrerad krets (ASIC) för att tillhandahålla mätinformation via digitala seriella gränssnitt. Integrerad med så många funktioner är detta en av de mest lämpliga sensorerna för kritisk fukt- och temperaturmätning. Här är demonstrationen med en Java -kod med Raspberry Pi.

Steg 1: Vad du behöver.. !

Vad du behöver..!!
Vad du behöver..!!

1. Hallon Pi

2. HTS221

3. I²C -kabel

4. I²C -sköld för Raspberry Pi

5. Ethernet -kabel

Steg 2: Anslutningar:

Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar

Ta en I2C -sköld för hallonpi och tryck den försiktigt över gpio -stiften på hallonpi.

Anslut sedan den ena änden av I2C -kabeln till HTS221 -sensorn och den andra änden till I2C -skärmen.

Anslut också Ethernet -kabeln till pi eller så kan du använda en WiFi -modul.

Anslutningar visas på bilden ovan.

Steg 3: Kod:

Koda
Koda

Pythonkoden för HTS221 kan laddas ner från vårt github-förråd-Dcube Store

Här är länken till samma:

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

Vi har använt pi4j -biblioteket för java -kod, stegen för att installera pi4j på hallon pi beskrivs här:

pi4j.com/install.html

Du kan också kopiera koden härifrån, den ges enligt följande:

// Distribueras med en fri vilja licens.

// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.

// HTS221

// Denna kod är utformad för att fungera med HTS221_I2CS I2C Mini Module.

importera com.pi4j.io.i2c. I2CBus;

importera com.pi4j.io.i2c. I2CDenhet;

importera com.pi4j.io.i2c. I2CFactory;

importera java.io. IOException;

public class HTS221 {public static void main (String args ) kastar undantag

{

// Skapa I2CBus

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

// Skaffa I2C -enhet, HTS221 I2C -adress är 0x5F (95)

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

// Välj genomsnittligt konfigurationsregister

// Temperatur genomsnittliga prover = 16, fuktmedelsprover = 32

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

// Välj kontrollregister1

// Slå på, uppdatera blockdata, datahastighet o/p = 1 Hz

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

Tråd. Sover (500);

// Läs kalibreringsvärden från enhetens icke-flyktiga minne

// Kalibreringsvärden för luftfuktighet

byte val = ny byte [2];

// Läs 1 byte data från adressen 0x30 (48)

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

// Läs 1 byte data från adressen 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 från adressen 0x36 (54)

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

// Läs 1 byte data från adressen 0x37 (55)

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

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

// Läs 1 byte data från adressen 0x3A (58)

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

// Läs 1 byte data från adressen 0x3B (59)

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

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

// Temperaturkalibreringsvärden

// Läs 1 byte data från adressen 0x32 (50)

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

// Läs 1 byte data från adressen 0x33 (51)

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

// Läs 1 byte data från adressen 0x35 (53)

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

// Konvertera temperaturkalibreringsvärdena till 10-bitar

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

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

// Läs 1 byte data från adressen 0x3C (60)

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

// Läs 1 byte data från adressen 0x3D (61)

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

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

// Läs 1 byte data från adressen 0x3E (62)

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

// Läs 1 byte data från adressen 0x3F (63)

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

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

// Läs 4 byte med data

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

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

// Konvertera data

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

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

om (temp> 32767)

{

temp -= 65536;

}

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

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

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

// Mata ut data till skärmen

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

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

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

}

}

Steg 4: Ansökningar:

HTS221 kan användas i olika konsumentprodukter som luftfuktare och kylskåp etc. Denna sensor hittar också sin tillämpning på en bredare arena, inklusive smart hemautomation, industriell automatisering, andningsutrustning, tillgångs- och varuspårning.

Rekommenderad: