Isi kandungan:

Raspberry Pi HTS221 Sensor Kelembapan dan Suhu Relatif Java Tutorial: 4 Langkah
Raspberry Pi HTS221 Sensor Kelembapan dan Suhu Relatif Java Tutorial: 4 Langkah

Video: Raspberry Pi HTS221 Sensor Kelembapan dan Suhu Relatif Java Tutorial: 4 Langkah

Video: Raspberry Pi HTS221 Sensor Kelembapan dan Suhu Relatif Java Tutorial: 4 Langkah
Video: Arduino Nano - Учебное пособие по датчику относительной влажности и температуры HTS221 2024, Jun
Anonim
Image
Image

HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembapan dan suhu relatif. Ini merangkumi elemen penginderaan dan litar bersepadu khusus aplikasi isyarat campuran (ASIC) untuk memberikan maklumat pengukuran melalui antara muka siri digital. Bersepadu dengan begitu banyak ciri ini adalah salah satu sensor yang paling sesuai untuk pengukuran kelembapan dan suhu kritikal. Berikut adalah demonstrasi dengan kod java menggunakan Raspberry Pi.

Langkah 1: Apa yang Anda Perlu..

Apa yang kamu perlu..!!
Apa yang kamu perlu..!!

1. Raspberry Pi

2. HTS221

3. Kabel I²C

4. Perisai I²C untuk Raspberry Pi

5. Kabel Ethernet

Langkah 2: Sambungan:

Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan

Ambil pelindung I2C untuk raspberry pi dan tekan perlahan ke atas pin gpio raspberry pi.

Kemudian sambungkan satu hujung kabel I2C ke sensor HTS221 dan hujung yang lain ke pelindung I2C.

Sambungkan juga kabel Ethernet ke pi atau anda boleh menggunakan modul WiFi.

Sambungan ditunjukkan dalam gambar di atas.

Langkah 3: Kod:

Kod
Kod

Kod python untuk HTS221 boleh dimuat turun dari github repositori-Dcube Store kami

Berikut adalah pautan yang sama:

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

Kami telah menggunakan perpustakaan pi4j untuk kod java, langkah-langkah untuk memasang pi4j pada raspberry pi dijelaskan di sini:

pi4j.com/install.html

Anda juga boleh menyalin kod dari sini, ia diberikan seperti berikut:

// Diagihkan dengan lesen kehendak bebas.

// Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya yang berkaitan.

// HTS221

// Kod ini direka untuk berfungsi dengan Modul Mini 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;

kelas awam HTS221 {public static void main (String args ) melontarkan Pengecualian

{

// Buat I2CBus

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

// Dapatkan peranti I2C, alamat HTS221 I2C adalah 0x5F (95)

Peranti I2CDevice = bus.getDevice (0x5F);

// Pilih daftar konfigurasi purata

// Sampel purata suhu = 16, sampel purata kelembapan = 32

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

// Pilih daftar kawalan1

// Hidupkan, blok kemas kini data, kadar data o / p = 1 Hz

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

Thread.sleep (500);

// Baca nilai Kalibrasi dari memori peranti yang tidak menentu

// Nilai Penentukuran Kelembapan

bait val = bait baru [2];

// Baca 1 bait data dari alamat 0x30 (48)

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

// Baca 1 bait data dari alamat 0x31 (49)

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

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

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

// Baca 1 bait data dari alamat 0x36 (54)

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

// Baca 1 bait data dari alamat 0x37 (55)

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

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

// Baca 1 bait data dari alamat 0x3A (58)

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

// Baca 1 bait data dari alamat 0x3B (59)

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

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

// Nilai Penentukuran Suhu

// Baca 1 bait data dari alamat 0x32 (50)

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

// Baca 1 bait data dari alamat 0x33 (51)

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

// Baca 1 bait data dari alamat 0x35 (53)

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

// Tukar nilai Penentukuran suhu menjadi 10-bit

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

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

// Baca 1 bait data dari alamat 0x3C (60)

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

// Baca 1 bait data dari alamat 0x3D (61)

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

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

// Baca 1 bait data dari alamat 0x3E (62)

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

// Baca 1 bait data dari alamat 0x3F (63)

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

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

// Baca 4 bait data

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

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

// Tukarkan data

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

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

jika (temp> 32767)

{

temp - = 65536;

}

kelembapan berganda = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);

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

double fTemp = (cTemp * 1.8) + 32;

// Keluarkan data ke skrin

System.out.printf ("Kelembapan Relatif:%.2f %% RH% n", kelembapan);

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

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

}

}

Langkah 4: Aplikasi:

HTS221 dapat digunakan dalam pelbagai produk pengguna seperti pelembap udara dan peti sejuk dll. Sensor ini juga dapat digunakan dalam arena yang lebih luas termasuk automasi rumah pintar, automasi industri, peralatan pernafasan, penjejakan aset dan barang.

Disyorkan: