Mündəricat:
- Addım 1: Lazım olan avadanlıq:
- Addım 2: Hardware Bağlantısı:
- Addım 3: Rütubət və İstilik Ölçmə Kodu:
- Addım 4: Tətbiqlər:
Video: HTS221 və Raspberry Pi istifadə edərək rütubət və temperatur ölçülməsi: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
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:
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 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:
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:
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ə:
STS21 və Raspberry Pi istifadə edərək temperatur ölçülməsi: 4 addım
STS21 və Raspberry Pi istifadə edərək İstilik Ölçmə: STS21 Rəqəmsal Temperatur Sensoru üstün performans və yer qənaət edən ayaq izi təqdim edir. Rəqəmsal, I2C formatında kalibrlənmiş, xətti siqnallar verir. Bu sensorun istehsalı CMOSens texnologiyasına əsaslanaraq üstün xüsusiyyətlərə malikdir
TMP112 və Raspberry Pi istifadə edərək temperatur ölçülməsi: 4 addım
TMP112 və Raspberry Pi istifadə edərək temperatur ölçülməsi: TMP112 Yüksək Dəqiqlik, Aşağı Güc, Rəqəmsal Temperatur Sensoru I2C MINI modulu. TMP112 uzun müddətli temperatur ölçümü üçün idealdır. Bu cihaz, kalibrləmə və ya xarici komponent siqnal kondisioneri tələb etmədən ± 0,5 ° C dəqiqlik təqdim edir
HIH6130 və Raspberry Pi istifadə edərək rütubət və temperatur ölçülməsi: 4 addım
HIH6130 və Raspberry Pi istifadə edərək Nəmlik və Temperatur Ölçmə: HIH6130 rəqəmsal çıxışı olan rütubət və temperatur sensoru. Bu sensorlar ± 4% RH dəqiqlik səviyyəsi təmin edir. Sektorun aparıcı uzunmüddətli sabitliyi, əsl temperaturla kompensasiya edilmiş rəqəmsal I2C, Sənayenin qabaqcıl etibarlılığı, Enerji səmərəliliyi
HDC1000 və Raspberry Pi istifadə edərək temperatur və rütubətin ölçülməsi: 4 addım
HDC1000 və Raspberry Pi istifadə edərək temperatur və rütubətin ölçülməsi: HDC1000, çox aşağı gücdə əla ölçmə dəqiqliyi təmin edən inteqrasiya edilmiş temperatur sensoru olan rəqəmsal rütubət sensoru. Cihaz rütubəti yeni bir kapasitiv sensora əsaslanaraq ölçür. Rütubət və temperatur sensörləri
MCP9803 və Raspberry Pi istifadə edərək temperatur ölçülməsi: 4 addım
MCP9803 və Raspberry Pi istifadə edərək temperatur ölçülməsi: MCP9803, 2 telli yüksək dəqiqlikli temperatur sensoru. İstilik algılama tətbiqlərini asanlaşdıran istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə təcəssüm olunur. Bu sensor yüksək səviyyəli çox zonalı temperatur izləmə sistemi üçün uyğundur