Talaan ng mga Nilalaman:

Raspberry Pi HTS221 Kamag-anak na Humidity at Temperature Sensor Java Tutorial: 4 na Hakbang
Raspberry Pi HTS221 Kamag-anak na Humidity at Temperature Sensor Java Tutorial: 4 na Hakbang

Video: Raspberry Pi HTS221 Kamag-anak na Humidity at Temperature Sensor Java Tutorial: 4 na Hakbang

Video: Raspberry Pi HTS221 Kamag-anak na Humidity at Temperature Sensor Java Tutorial: 4 na Hakbang
Video: Raspberry Pi Explained in 100 Seconds 2024, Nobyembre
Anonim
Image
Image

Ang HTS221 ay isang ultra compact capacitive digital sensor para sa kamag-anak na halumigmig at temperatura. May kasamang elemento ng sensing at isang halo-halong signal application na tiyak na integrated circuit (ASIC) upang maibigay ang impormasyon sa pagsukat sa pamamagitan ng mga digital serial interface. Isinama sa napakaraming mga tampok na ito ay isa sa mga pinakaangkop na sensor para sa kritikal na kahalumigmigan at pagsukat ng temperatura. Narito ang pagpapakita na may isang java code gamit ang Raspberry Pi.

Hakbang 1: Ano ang Kailangan Mo.. !

Ang iyong kailangan..!!
Ang iyong kailangan..!!

1. Raspberry Pi

2. HTS221

3. I²C Cable

4. I²C Shield para sa Raspberry Pi

5. Ethernet Cable

Hakbang 2: Mga Koneksyon:

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Kumuha ng isang kalasag I2C para sa raspberry pi at dahan-dahang itulak ito sa mga gpio pin ng raspberry pi.

Pagkatapos ikonekta ang isang dulo ng I2C cable sa HTS221 sensor at ang iba pang mga dulo sa I2C kalasag.

Ikonekta din ang Ethernet cable sa pi o maaari kang gumamit ng isang module ng WiFi.

Ang mga koneksyon ay ipinapakita sa larawan sa itaas.

Hakbang 3: Code:

Code
Code

Ang python code para sa HTS221 ay maaaring ma-download mula sa aming github repository-Dcube Store

Narito ang link para sa pareho:

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

Gumamit kami ng pi4j library para sa java code, ang mga hakbang upang mai-install ang pi4j sa raspberry pi ay inilarawan dito:

pi4j.com/install.html

Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:

// Ipinamamahagi ng isang lisensyang malaya ang kalooban.

// Gumamit nito sa anumang paraan na nais mo, kumita o libre, naibigay na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.

// HTS221

// Ang code na ito ay dinisenyo upang gumana sa HTS221_I2CS I2C Mini Module.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

i-import ang java.io. IOException;

publikong klase HTS221 {public static void main (String args ) throws Exception

{

// Lumikha ng I2CBus

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

// Kumuha ng I2C device, ang address ng HTS221 I2C ay 0x5F (95)

I2CDevice aparato = bus.getDevice (0x5F);

// Piliin ang average register ng pagsasaayos

// Temperatura ng average na mga sample = 16, average na halumigmig na mga sample = 32

aparato. magsulat (0x10, (byte) 0x1B);

// Piliin ang control register1

// Power on, harangan ang pag-update ng data, rate ng data o / p = 1 Hz

aparato. magsulat (0x20, (byte) 0x85);

Thread.tulog (500);

// Basahin ang mga halaga ng Pagkakalibrate mula sa di-pabagu-bago na memorya ng aparato

// Mga halagang pagkakalibrate ng Humidity

byte val = bagong byte [2];

// Basahin ang 1 byte ng data mula sa address 0x30 (48)

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

// Basahin ang 1 byte ng data mula sa address 0x31 (49)

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

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

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

// Basahin ang 1 byte ng data mula sa address 0x36 (54)

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

// Basahin ang 1 byte ng data mula sa address 0x37 (55)

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

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

// Basahin ang 1 byte ng data mula sa address na 0x3A (58)

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

// Basahin ang 1 byte ng data mula sa address na 0x3B (59)

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

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

// Mga halagang pagkakalibrate ng Temperatura

// Basahin ang 1 byte ng data mula sa address 0x32 (50)

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

// Basahin ang 1 byte ng data mula sa address 0x33 (51)

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

// Basahin ang 1 byte ng data mula sa address 0x35 (53)

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

// I-convert ang temperatura Mga halaga ng pagkakalibrate sa 10-bit

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

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

// Basahin ang 1 byte ng data mula sa address na 0x3C (60)

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

// Basahin ang 1 byte ng data mula sa address 0x3D (61)

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

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

// Basahin ang 1 byte ng data mula sa address na 0x3E (62)

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

// Basahin ang 1 byte ng data mula sa address na 0x3F (63)

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

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

// Basahin ang 4 bytes ng data

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

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

// I-convert ang data

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

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

kung (temp> 32767)

{

temp - = 65536;

}

dobleng kahalumigmigan = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);

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

doble fTemp = (cTemp * 1.8) + 32;

// Output data sa screen

System.out.printf ("Kamag-anak na Humidity:%.2f %% RH% n", halumigmig);

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

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

}

}

Hakbang 4: Mga Aplikasyon:

Maaaring gamitin ang HTS221 sa iba't ibang mga produktong consumer tulad ng mga air humidifiers at refrigerator atbp. Natagpuan din ng sensor na ito ang aplikasyon nito sa isang mas malawak na arena kasama ang Smart home automation, Industrial automation, respiratory equipments, asset at mga kalakal sa pagsubaybay.

Inirerekumendang: