Orodha ya maudhui:

Raspberry Pi HTS221 Humidity Relative na Sensor Joto Mafunzo ya Java: Hatua 4
Raspberry Pi HTS221 Humidity Relative na Sensor Joto Mafunzo ya Java: Hatua 4

Video: Raspberry Pi HTS221 Humidity Relative na Sensor Joto Mafunzo ya Java: Hatua 4

Video: Raspberry Pi HTS221 Humidity Relative na Sensor Joto Mafunzo ya Java: Hatua 4
Video: Lesson 38: Using MLX90614 Infrared Contactless Temperature Sensor | Arduino Step By Step Course 2024, Novemba
Anonim
Image
Image

HTS221 ni sensorer ya hali ya juu ya hali ya hewa yenye unyevu na joto. Inajumuisha kipengee cha kuhisi na matumizi ya ishara iliyochanganywa mzunguko maalum uliounganishwa (ASIC) kutoa habari ya kipimo kupitia njia kuu za dijiti. Imejumuishwa na huduma nyingi hii ni moja ya sensorer zinazofaa zaidi kwa vipimo muhimu vya unyevu na joto. Hapa kuna maonyesho na nambari ya java kutumia Raspberry Pi.

Hatua ya 1: Unachohitaji.. !

Unachohitaji..!!
Unachohitaji..!!

1. Raspberry Pi

2. HTS221

3. I²C Cable

4. I²C Shield kwa Raspberry Pi

5. Cable ya Ethernet

Hatua ya 2: Miunganisho:

Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho

Chukua ngao ya I2C kwa pi ya rasipiberi na uisukume kwa upole juu ya pini za gpio za pi ya raspberry.

Kisha unganisha mwisho mmoja wa kebo ya I2C kwenye sensorer ya HTS221 na mwisho mwingine kwenye ngao ya I2C.

Pia unganisha kebo ya Ethernet kwa pi au unaweza kutumia moduli ya WiFi.

Uunganisho umeonyeshwa kwenye picha hapo juu.

Hatua ya 3: Nambari:

Nambari
Nambari

Nambari ya chatu ya HTS221 inaweza kupakuliwa kutoka kwa duka yetu ya github-Dcube

Hapa kuna kiunga cha hiyo hiyo:

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

Tumetumia maktaba ya pi4j kwa nambari ya java, hatua za kusanikisha pi4j kwenye rasiberi pi imeelezewa hapa:

pi4j.com/install.html

Unaweza pia kunakili nambari kutoka hapa, imepewa kama ifuatavyo:

// Imesambazwa na leseni ya hiari.

// Itumie kwa njia yoyote unayotaka, faida au bure, mradi inafaa katika leseni za kazi zake zinazohusiana.

// HTS221

// Nambari hii imeundwa kufanya kazi na Moduli ya Mini HTS221_I2CS I2C.

kuagiza com.pi4j.io.i2c. I2CBus;

kuagiza com.pi4j.io.i2c. I2CDevice;

kuagiza com.pi4j.io.i2c. I2CFactory;

kuagiza java.io. IOException;

darasa la umma HTS221 {public static void main (String args ) hutupa Isipokuwa

{

// Unda I2CBus

Basi la I2C = I2CFactory.getInstance (I2CBus. BUS_1);

// Pata kifaa cha I2C, anwani ya HTS221 I2C ni 0x5F (95)

Kifaa cha I2CDevice = bus.getDevice (0x5F);

// Chagua rejista ya usanidi wastani

// Sampuli za wastani wa joto = 16, sampuli za wastani wa unyevu = 32

andika kifaa (0x10, (byte) 0x1B);

// Chagua rejista ya kudhibiti1

// Kuwasha, zuia sasisho la data, kiwango cha data o / p = 1 Hz

andika kifaa (0x20, (byte) 0x85);

Kulala (500);

// Soma maadili ya Upimaji kutoka kwa kumbukumbu isiyoweza kubadilika ya kifaa

// Thamani ya Upimaji Unyevu

baiti val = baiti mpya [2];

// Soma kaiti 1 ya data kutoka kwa anwani 0x30 (48)

val [0] = (byte) kifaa.soma (0x30);

// Soma kaiti 1 ya data kutoka kwa anwani 0x31 (49)

val [1] = (byte) kifaa. soma (0x31);

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

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

// Soma kaiti 1 ya data kutoka kwa anwani 0x36 (54)

val [0] = (byte) kifaa.soma (0x36);

// Soma kaiti 1 ya data kutoka kwa anwani 0x37 (55)

val [1] = (byte) kifaa. soma (0x37);

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

// Soma kaiti 1 ya data kutoka kwa anwani 0x3A (58)

val [0] = (byte) kifaa. soma (0x3A);

// Soma kaiti 1 ya data kutoka kwa anwani 0x3B (59)

val [1] = (byte) kifaa. soma (0x3B);

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

// Thamani za Upimaji wa Joto

// Soma kaiti 1 ya data kutoka kwa anwani 0x32 (50)

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

// Soma kaiti 1 ya data kutoka kwa anwani 0x33 (51)

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

// Soma kaiti 1 ya data kutoka kwa anwani 0x35 (53)

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

// Badilisha viwango vya upimaji wa joto kuwa 10-bits

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

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

// Soma kaiti 1 ya data kutoka kwa anwani 0x3C (60)

val [0] = (byte) kifaa. soma (0x3C);

// Soma kaiti 1 ya data kutoka kwa anwani 0x3D (61)

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

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

// Soma kaiti 1 ya data kutoka kwa anwani 0x3E (62)

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

// Soma kaiti 1 ya data kutoka kwa anwani 0x3F (63)

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

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

// Soma ka 4 za data

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

data data = byte mpya [4]; soma kifaa (0x28 | 0x80, data, 0, 4);

// Badilisha data

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

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

ikiwa (temp> 32767)

{

temp - = 65536;

}

unyevu mara mbili = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);

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

fTemp mara mbili = (cTemp * 1.8) + 32;

// Pato data kwa screen

System.out.printf ("Humidity Relative:%.2f %% RH% n", unyevu);

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

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

}

}

Hatua ya 4: Maombi:

HTS221 inaweza kuajiriwa katika bidhaa anuwai za watumiaji kama viboreshaji hewa na majokofu n.k. Sensor hii pia hupata matumizi yake katika uwanja mpana pamoja na mitambo ya Smart nyumbani, mitambo ya Viwanda, vifaa vya kupumua, ufuatiliaji wa mali na bidhaa.

Ilipendekeza: