Mündəricat:

HTS221 və Raspberry Pi istifadə edərək rütubət və temperatur ölçülməsi: 4 addım
HTS221 və Raspberry Pi istifadə edərək rütubət və temperatur ölçülməsi: 4 addım

Video: HTS221 və Raspberry Pi istifadə edərək rütubət və temperatur ölçülməsi: 4 addım

Video: HTS221 və Raspberry Pi istifadə edərək rütubət və temperatur ölçülməsi: 4 addım
Video: Программирование МК STM32. УРОК 55. Подключаем датчик влажности HTS221. Часть 1 2024, Iyul
Anonim
Image
Image

HTS221 nisbi rütubət və temperatur üçün ultra kompakt kapasitiv rəqəmsal sensordur. Ölçmə məlumatlarını rəqəmsal serial interfeysləri ilə təmin etmək üçün bir hissedici element və qarışıq siqnal tətbiqinin xüsusi inteqrasiya edilmiş dövrə (ASIC) daxildir. Bir çox xüsusiyyətə sahib olan bu, kritik rütubət və temperatur ölçmələri üçün ən uyğun sensorlardandır.

Bu dərslikdə HTS221 sensor modulunun moruq pi ilə qarşılıqlı əlaqəsi nümayiş olunur və python dilindən istifadə edərək proqramlaşdırılması da göstərilmişdir. Rütubət və temperatur dəyərlərini oxumaq üçün I2C adapterli moruq pi istifadə etdik. Bu I2C adapteri sensor moduluna qoşulmağı asanlaşdırır və daha etibarlı edir.

Addım 1: Lazım olan avadanlıq:

Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur

Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:

1. HTS221

2. Moruq Pi

3. I2C Kabeli

4. Moruq pi üçün I2C Shield

5. Ethernet Kabeli

Addım 2: Hardware Bağlantısı:

Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama

Avadanlıq bağlama bölməsi əsasən sensor və moruq pi arasında lazım olan tel əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:

HTS221 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.

Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük.

Lazım olan tək şey dörd teldir! Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.

Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.

Addım 3: Rütubət və İstilik Ölçmə Kodu:

Rütubət və Temperatur Ölçmə Kodu
Rütubət və Temperatur Ölçmə Kodu

Moruq pi istifadə etmənin üstünlüyü, sensoru onunla əlaqələndirmək üçün lövhəni proqramlaşdırmaq istədiyiniz proqramlaşdırma dilinin rahatlığını təmin edir. Bu lövhənin bu üstünlüyündən istifadə edərək burada pythonda proqramlaşdırmasını nümayiş etdiririk. HTS221 üçün python kodu, Control Everything Topluluğu olan github cəmiyyətimizdən endirilə bilər.

İstifadəçilərin rahatlığı üçün, kodu da burada izah edirik:

Kodlaşdırmanın ilk addımı olaraq python vəziyyətində smbus kitabxanasını yükləməlisiniz, çünki bu kitabxana kodda istifadə olunan funksiyaları dəstəkləyir. Beləliklə, kitabxananı yükləmək üçün aşağıdakı linkə daxil ola bilərsiniz:

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

Bu sensor üçün işləyən python kodunu buradan da kopyalaya bilərsiniz:

smbus idxal edin

idxal vaxtı

# I2C avtobusu alın

avtobus = smbus. SMBus (1)

# HTS221 ünvanı, 0x5F (95)

# Orta konfiqurasiya qeydini seçin, 0x10 (16)

# 0x1B (27) Orta temperatur nümunələri = 256, Orta rütubət nümunələri = 512

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

# HTS221 ünvanı, 0x5F (95)

# Nəzarət reyestrini seçin1, 0x20 (32)

# 0x85 (133) Güc AÇIQ, Davamlı yeniləmə, Məlumat çıxış sürəti = 1 Hz

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

vaxt.yuxu (0.5)

# HTS221 ünvanı, 0x5F (95)

# Cihazın dəyişməz yaddaşından Kalibrləmə dəyərlərini oxuyun

# Nəmlik Kalibrləmə dəyərləri

# 0x30 (48), 1 baytdan məlumatları geri oxuyun

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

H0 = dəyər / 2

# 0x31 (49), 1 baytdan məlumatları geri oxuyun

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

H1 = dəyər /2

# 0x36 (54), 2 baytdan məlumatları geri oxuyun

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

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

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

# 0x3A (58), 2 baytdan məlumatları geri oxuyun

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

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

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

# Temperatur Kalibrləmə dəyərləri

# 0x32 (50), 1 baytdan məlumatları geri oxuyun

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

T0 = (T0 və 0xFF)

# 0x32 (51), 1 baytdan məlumatları geri oxuyun

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

T1 = (T1 və 0xFF)

# 0x35 (53), 1 baytdan məlumatları geri oxuyun

raw = bus.read_byte_data (0x5F, 0x35)

xam = (xam və 0x0F)

# İstilik kalibrləmə dəyərlərini 10 bitə çevirin

T0 = ((xam və 0x03) * 256) + T0

T1 = ((xam və 0x0C) * 64) + T1

# 0x3C (60), 2 baytdan məlumatları geri oxuyun

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

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

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

# 0x3E (62), 2 baytdan məlumatları geri oxuyun

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

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

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

# 0x80 (128) əmr reyestri ilə 4 bayt olan məlumatları 0x28 (40) dan geri oxuyun

# nəmlik msb, rütubət lsb, temp msb, temp lsb

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

# Məlumatları çevirin

rütubət = (məlumat [1] * 256) + məlumat [0]

rütubət = ((1.0 * H1) - (1.0 * H0)) * (1.0 * rütubət - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)

temp = (məlumat [3] * 256) + məlumat [2]

əgər temperatur> 32767:

temperatur -= 65536

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

fTemp = (cTemp * 1.8) + 32

# Ekrana məlumat çıxarın

çap "Nisbi Nəmlik: %.2f %%" %rütubət

çap "Selsi İstiliyi: %.2f C" %cTemp

çap "Fahrenheitdəki temperatur: %.2f F" %fTemp

Kodun aşağıda göstərilən hissəsinə, python kodlarının düzgün yerinə yetirilməsi üçün lazım olan kitabxanalar daxildir.

smbus idxal edin

idxal vaxtı

Kod, əmr satırına aşağıda göstərilən əmri yazaraq icra edilə bilər.

$> python HTS221.py

Sensorun çıxışı da istifadəçinin istinadı üçün yuxarıdakı şəkildə göstərilmişdir.

Addım 4: Tətbiqlər:

Tətbiqlər
Tətbiqlər

HTS221, hava nəmləndiriciləri və soyuducular kimi müxtəlif istehlak məhsullarında istifadə edilə bilər. Bu sensor, ağıllı ev avtomatlaşdırması, Sənaye avtomatlaşdırması, tənəffüs cihazları, aktiv və malların izlənməsi də daxil olmaqla daha geniş bir sahədə tətbiqini tapır.

Tövsiyə: