INHOUDSOPGAWE:

Framboos Pi HTS221 Relatiewe humiditeits- en temperatuursensor Java -tutoriaal: 4 stappe
Framboos Pi HTS221 Relatiewe humiditeits- en temperatuursensor Java -tutoriaal: 4 stappe

Video: Framboos Pi HTS221 Relatiewe humiditeits- en temperatuursensor Java -tutoriaal: 4 stappe

Video: Framboos Pi HTS221 Relatiewe humiditeits- en temperatuursensor Java -tutoriaal: 4 stappe
Video: Raspberry Pi HTS221 Relative Humidity and Temperature Sensor Java Tutorial 2024, November
Anonim
Image
Image

HTS221 is 'n ultra kompakte kapasitiewe digitale sensor vir relatiewe humiditeit en temperatuur. Dit bevat 'n waarnemingselement en 'n gemengde seintoepassingspesifieke geïntegreerde stroombaan (ASIC) om die meetinligting deur middel van digitale seriële koppelvlakke te verskaf. Dit is geïntegreer met soveel funksies en is een van die mees geskikte sensors vir kritieke humiditeits- en temperatuurmetings. Hier is die demonstrasie met 'n java -kode met behulp van Raspberry Pi.

Stap 1: wat u nodig het..

Wat jy nodig het..!!
Wat jy nodig het..!!

1. Framboos Pi

2. HTS221

3. I²C -kabel

4. I²C -skild vir Framboos Pi

5. Ethernet -kabel

Stap 2: Verbindings:

Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings

Neem 'n I2C skild vir framboos pi en druk dit liggies oor die gpio penne van framboos pi.

Koppel dan die een kant van die I2C -kabel aan die HTS221 -sensor en die ander kant aan die I2C -skild.

Koppel ook die Ethernet -kabel aan die pi, of u kan 'n WiFi -module gebruik.

Verbindings word op die foto hierbo getoon.

Stap 3: Kode:

Kode
Kode

Die python-kode vir HTS221 kan afgelaai word vanaf ons github repository-Dcube Store

Hier is die skakel vir dieselfde:

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

Ons het pi4j -biblioteek gebruik vir java -kode, die stappe om pi4j op framboos pi te installeer word hier beskryf:

pi4j.com/install.html

U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:

// Versprei met 'n vrywillige lisensie.

// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.

// HTS221

// Hierdie kode is ontwerp om te werk met die HTS221_I2CS I2C Mini Module.

invoer com.pi4j.io.i2c. I2CBus;

voer com.pi4j.io.i2c. I2CD -toestel in;

invoer com.pi4j.io.i2c. I2CFactory;

invoer java.io. IOException;

openbare klas HTS221 {public static void main (String args ) gooi uitsondering

{

// Skep I2CBus

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

// Kry I2C -toestel, HTS221 I2C -adres is 0x5F (95)

I2CD -toestel = bus.getDevice (0x5F);

// Kies gemiddelde konfigurasieregister

// Temperatuur gemiddelde monsters = 16, humiditeit gemiddelde monsters = 32

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

// Kies kontroleregister1

// Skakel aan, blokkeer data -opdatering, datatempo o/p = 1 Hz

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

Draad.slaap (500);

// Lees kalibrasiewaardes uit die nie-vlugtige geheue van die toestel

// Humiditeit Kalibrasie waardes

byte val = nuwe byte [2];

// Lees 1 greep data vanaf adres 0x30 (48)

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

// Lees 1 greep data vanaf adres 0x31 (49)

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

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

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

// Lees 1 greep data vanaf adres 0x36 (54)

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

// Lees 1 greep data vanaf adres 0x37 (55)

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

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

// Lees 1 greep data vanaf adres 0x3A (58)

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

// Lees 1 greep data vanaf adres 0x3B (59)

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

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

// Temperatuur kalibrasie waardes

// Lees 1 greep data vanaf adres 0x32 (50)

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

// Lees 1 greep data vanaf adres 0x33 (51)

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

// Lees 1 greep data vanaf adres 0x35 (53)

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

// Skakel die kalibreringswaardes van die temperatuur om na 10-bis

T0 = ((rou & 0x03) * 256) + T0;

T1 = ((rou & 0x0C) * 64) + T1;

// Lees 1 greep data vanaf adres 0x3C (60)

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

// Lees 1 greep data vanaf adres 0x3D (61)

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

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

// Lees 1 greep data vanaf adres 0x3E (62)

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

// Lees 1 greep data vanaf adres 0x3F (63)

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

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

// Lees 4 grepe data

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

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

// Skakel die data om

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

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

as (temp> 32767)

{

temp -= 65536;

}

dubbele humiditeit = ((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;

// Uitset data na die skerm

System.out.printf ("Relatiewe humiditeit: %.2f %% RH %n", humiditeit);

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

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

}

}

Stap 4: Aansoeke:

HTS221 kan gebruik word in verskillende verbruikersprodukte, soos lugbevochtigers en yskaste, ens. Hierdie sensor kan ook op 'n wyer gebied toegepas word, insluitend outomatiese huishoudelike outomatisering, industriële outomatisering, respiratoriese toerusting, opsporing van bates en goedere.

Aanbeveel: