Isi kandungan:

Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: 4 Langkah

Video: Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: 4 Langkah

Video: Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Raspberry Pi: 4 Langkah
Video: Chip Shortage: ST HTS221 Capacitive Humidity/Temperature sensor #ChipShortage @Adafruit 2024, Julai
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.

Dalam tutorial ini ditunjukkan antara muka modul sensor HTS221 dengan raspberry pi dan pengaturcaraannya menggunakan bahasa python juga telah digambarkan. Untuk membaca nilai kelembapan dan suhu, kami telah menggunakan raspberry pi dengan penyesuai I2C. Penyesuai I2C ini menjadikan sambungan ke modul sensor mudah dan lebih dipercayai.

Langkah 1: Perkakasan Diperlukan:

Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan

Bahan yang kami perlukan untuk mencapai tujuan kami merangkumi komponen perkakasan berikut:

1. HTS221

2. Raspberry Pi

3. Kabel I2C

4. I2C Shield untuk raspberry pi

5. Kabel Ethernet

Langkah 2: Penyambungan Perkakasan:

Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan

Bahagian penyambungan perkakasan pada dasarnya menerangkan sambungan pendawaian yang diperlukan antara sensor dan raspberry pi. Memastikan sambungan yang betul adalah keperluan asas semasa mengerjakan sistem apa pun untuk output yang diinginkan. Jadi, sambungan yang diperlukan adalah seperti berikut:

HTS221 akan berfungsi di atas I2C. Berikut adalah contoh rajah pendawaian, yang menunjukkan cara memasang setiap antara muka sensor.

Di luar kotak, papan dikonfigurasikan untuk antara muka I2C, oleh itu kami mengesyorkan menggunakan penyambungan ini jika anda tidak agnostik.

Yang anda perlukan hanyalah empat wayar! Hanya diperlukan empat sambungan pin Vcc, Gnd, SCL dan SDA dan ini disambungkan dengan bantuan kabel I2C.

Sambungan ini ditunjukkan dalam gambar di atas.

Langkah 3: Kod untuk Pengukuran Kelembapan dan Suhu:

Kod untuk Pengukuran Kelembapan dan Suhu
Kod untuk Pengukuran Kelembapan dan Suhu

Kelebihan menggunakan raspberry pi adalah, yang memberi anda fleksibiliti bahasa pengaturcaraan di mana anda ingin memprogram papan untuk menghubungkan antara sensor dengannya. Dengan memanfaatkan kelebihan papan ini, kami menunjukkan di sini pengaturcaraannya di python. Kod python untuk HTS221 boleh dimuat turun dari komuniti github kami iaitu Komuniti Segala-galanya.

Serta untuk kemudahan pengguna, kami menerangkan kodnya di sini juga:

Sebagai langkah pertama pengekodan, anda perlu memuat turun perpustakaan smbus sekiranya berlaku python, kerana perpustakaan ini menyokong fungsi yang digunakan dalam kod. Oleh itu, untuk memuat turun perpustakaan anda boleh melayari pautan berikut:

pypi.python.org/pypi/smbus-cffi/0.5.1

Anda boleh menyalin kod python yang berfungsi untuk sensor ini dari sini juga:

import smbus

masa import

# Dapatkan bas I2C

bas = smbus. SMBus (1)

# Alamat HTS221, 0x5F (95)

# Pilih daftar konfigurasi purata, 0x10 (16)

# 0x1B (27) Sampel purata suhu = 256, Sampel purata kelembapan = 512

bas.write_byte_data (0x5F, 0x10, 0x1B)

# Alamat HTS221, 0x5F (95)

# Pilih daftar kawalan1, 0x20 (32)

# 0x85 (133) Daya Hidup, Kemas kini berterusan, Kadar output data = 1 Hz

bas.write_byte_data (0x5F, 0x20, 0x85)

masa. tidur (0.5)

# Alamat HTS221, 0x5F (95)

# Baca Nilai penentukuran dari memori peranti yang tidak mudah berubah

# Nilai Penentukuran Kelembapan

# Baca kembali data dari 0x30 (48), 1 bait

val = bas.read_byte_data (0x5F, 0x30)

H0 = val / 2

# Baca kembali data dari 0x31 (49), 1 bait

val = bas.read_byte_data (0x5F, 0x31)

H1 = val / 2

# Baca kembali data dari 0x36 (54), 2 bait

val0 = bas.read_byte_data (0x5F, 0x36)

val1 = bas.read_byte_data (0x5F, 0x37)

H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Baca kembali data dari 0x3A (58), 2 bait

val0 = bas.read_byte_data (0x5F, 0x3A)

val1 = bas.read_byte_data (0x5F, 0x3B)

H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Nilai Penentukuran Suhu

# Baca kembali data dari 0x32 (50), 1 bait

T0 = bas.read_byte_data (0x5F, 0x32)

T0 = (T0 & 0xFF)

# Baca kembali data dari 0x32 (51), 1 bait

T1 = bas.read_byte_data (0x5F, 0x33)

T1 = (T1 & 0xFF)

# Baca kembali data dari 0x35 (53), 1 bait

mentah = bas.read_byte_data (0x5F, 0x35)

mentah = (mentah & 0x0F)

# Tukar nilai Penentukuran suhu menjadi 10-bit

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

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

# Baca kembali data dari 0x3C (60), 2 bait

val0 = bas.read_byte_data (0x5F, 0x3C)

val1 = bus.read_byte_data (0x5F, 0x3D)

T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Baca kembali data dari 0x3E (62), 2 bait

val0 = bas.read_byte_data (0x5F, 0x3E)

val1 = bas.read_byte_data (0x5F, 0x3F)

T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Baca kembali data dari 0x28 (40) dengan daftar perintah 0x80 (128), 4 bait

# kelembapan msb, kelembapan lsb, temp msb, temp lsb

data = bas.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# Tukarkan data

kelembapan = (data [1] * 256) + data [0]

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

temp = (data [3] * 256) + data [2]

jika temp> 32767:

temp - = 65536

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

fTemp = (cTemp * 1.8) + 32

# Keluarkan data ke skrin

cetak "Kelembapan Relatif:%.2f %%"% kelembapan

cetak "Suhu dalam Celsius:%.2f C"% cTemp

cetak "Suhu dalam Fahrenheit:%.2f F"% fTemp

Bahagian kod yang disebutkan di bawah merangkumi perpustakaan yang diperlukan untuk pelaksanaan kod python yang betul.

import smbus

masa import

Kod tersebut dapat dijalankan dengan mengetik perintah yang disebutkan di bawah ini di command prompt.

$> python HTS221.py

Output sensor juga ditunjukkan dalam gambar di atas untuk rujukan pengguna.

Langkah 4: Aplikasi:

Permohonan
Permohonan

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: