Përmbajtje:

Raspberry Pi HTS221 Sensori Relativ i Lagështisë dhe Temperaturës Java Udhëzues: 4 hapa
Raspberry Pi HTS221 Sensori Relativ i Lagështisë dhe Temperaturës Java Udhëzues: 4 hapa

Video: Raspberry Pi HTS221 Sensori Relativ i Lagështisë dhe Temperaturës Java Udhëzues: 4 hapa

Video: Raspberry Pi HTS221 Sensori Relativ i Lagështisë dhe Temperaturës Java Udhëzues: 4 hapa
Video: Raspberry Pi HTS221 Relative Humidity and Temperature Sensor Java Tutorial 2024, Korrik
Anonim
Image
Image

HTS221 është një sensor dixhital ultra kompakt kapacitiv për lagështinë dhe temperaturën relative. Ai përfshin një element ndijimi dhe një qark të integruar specifik të aplikimit të sinjalit të përzier (ASIC) për të siguruar informacionin e matjes përmes ndërfaqeve serike dixhitale. I integruar me kaq shumë karakteristika ky është një nga sensorët më të përshtatshëm për matjet kritike të lagështisë dhe temperaturës. Këtu është demonstrimi me një kod java duke përdorur Raspberry Pi.

Hapi 1: Ajo që ju nevojitet.. !

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

1. Raspberry Pi

2. HTS221

3. Kabllo I²C

4. Mburoja I²C për Raspberry Pi

5. Kabllo Ethernet

Hapi 2: Lidhjet:

Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet

Merrni një mburojë I2C për mjedrën pi dhe shtyjeni butësisht mbi kunjat e gpio të mjedrës pi.

Pastaj lidhni njërin skaj të kabllit I2C me sensorin HTS221 dhe skajin tjetër me mburojën I2C.

Gjithashtu lidhni kabllon Ethernet me pi ose mund të përdorni një modul WiFi.

Lidhjet janë treguar në figurën e mësipërme.

Hapi 3: Kodi:

Kodi
Kodi

Kodi python për HTS221 mund të shkarkohet nga depoja jonë github-Dyqani Dcube

Këtu është lidhja për të njëjtën gjë:

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

Ne kemi përdorur bibliotekën pi4j për kodin java, hapat për të instaluar pi4j në mjedër pi janë përshkruar këtu:

pi4j.com/install.html

Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:

// Shpërndarë me një licencë me vullnet të lirë.

// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.

// HTS221

// Ky kod është krijuar për të punuar me Mini Modulin HTS221_I2CS I2C.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

klasa publike HTS221 {public static void main (String args ) hedh Exception

{

// Krijo I2CBus

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

// Merrni pajisjen I2C, adresa HTS221 I2C është 0x5F (95)

Pajisja I2CDevice = bus.getDevice (0x5F);

// Zgjidh regjistrin mesatar të konfigurimit

// Mostrat mesatare të temperaturës = 16, mostrat mesatare të lagështisë = 32

pajisje.shkruaj (0x10, (bajt) 0x1B);

// Zgjidhni regjistrin e kontrollit1

// Ndizeni, bllokoni përditësimin e të dhënave, shkalla e të dhënave o/p = 1 Hz

pajisje.shkruaj (0x20, (bajt) 0x85);

Thread.sleep (500);

// Lexoni vlerat e Kalibrimit nga kujtesa jo e paqëndrueshme e pajisjes

// Vlerat e kalibrimit të lagështisë

bajt val = bajt i ri [2];

// Lexoni 1 bajt të dhëna nga adresa 0x30 (48)

val [0] = (bajt) pajisje. lexo (0x30);

// Lexoni 1 bajt të dhëna nga adresa 0x31 (49)

val [1] = (bajt) pajisje. lexo (0x31);

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

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

// Lexoni 1 bajt të dhëna nga adresa 0x36 (54)

val [0] = (bajt) pajisje.lexo (0x36);

// Lexoni 1 bajt të dhëna nga adresa 0x37 (55)

val [1] = (bajt) pajisje. lexo (0x37);

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

// Lexoni 1 bajt të dhëna nga adresa 0x3A (58)

val [0] = (bajt) pajisje.lexoni (0x3A);

// Lexoni 1 bajt të dhëna nga adresa 0x3B (59)

val [1] = (bajt) pajisje. lexo (0x3B);

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

// Vlerat e Kalibrimit të Temperaturës

// Lexoni 1 bajt të dhëna nga adresa 0x32 (50)

int T0 = ((byte) pajisje. lexo (0x32) & 0xFF);

// Lexoni 1 bajt të dhëna nga adresa 0x33 (51)

int T1 = ((byte) pajisje. lexo (0x33) & 0xFF);

// Lexoni 1 bajt të dhëna nga adresa 0x35 (53)

int papërpunuar = ((byte) pajisje. lexo (0x35) & 0x0F);

// Shndërroni vlerat e Kalibrimit të temperaturës në 10-bit

T0 = ((e papërpunuar & 0x03) * 256) + T0;

T1 = ((e papërpunuar & 0x0C) * 64) + T1;

// Lexoni 1 bajt të dhëna nga adresa 0x3C (60)

val [0] = (bajt) pajisje. lexo (0x3C);

// Lexoni 1 bajt të dhëna nga adresa 0x3D (61)

val [1] = (bajt) pajisje. lexo (0x3D);

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

// Lexoni 1 bajt të dhëna nga adresa 0x3E (62)

val [0] = (bajt) pajisje.lexoni (0x3E);

// Lexoni 1 bajt të dhëna nga adresa 0x3F (63)

val [1] = (bajt) pajisje.lexoni (0x3F);

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

// Lexoni 4 bajt të dhëna

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

bajt të dhëna = bajt i ri [4]; pajisje.lex (0x28 | 0x80, të dhëna, 0, 4);

// Shndërroni të dhënat

int hum = ((të dhënat [1] & 0xFF) * 256) + (të dhënat [0] & 0xFF);

int temp = ((të dhënat [3] & 0xFF) * 256) + (të dhënat [2] & 0xFF);

nëse (temp> 32767)

{

temp -= 65536;

}

lagështi e dyfishtë = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);

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

dyshe fTemp = (cTemp * 1.8) + 32;

// Dalja e të dhënave në ekran

System.out.printf ("Lagështia relative: %.2f %% RH %n", lagështia);

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

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

}

}

Hapi 4: Aplikimet:

HTS221 mund të përdoret në produkte të ndryshme të konsumit si lagështues të ajrit dhe frigoriferë, etj. Ky sensor gjithashtu gjen aplikimin e tij në një arenë më të gjerë duke përfshirë automatizimin e shtëpisë inteligjente, automatizimin industrial, pajisjet e frymëmarrjes, përcjelljen e aseteve dhe mallrave.

Recommended: