Mündəricat:

SHT25 və Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 5 addım
SHT25 və Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 5 addım

Video: SHT25 və Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 5 addım

Video: SHT25 və Raspberry Pi istifadə edərək temperatur və rütubətin monitorinqi: 5 addım
Video: Arduino Nano SHT25 I2C Humidity & Temperature Sensor Tutorial 2024, Iyul
Anonim
Image
Image

Bu yaxınlarda temperatur və rütubətin monitorinqini tələb edən müxtəlif layihələr üzərində çalışdıq və sonra başa düşdük ki, bu iki parametr əslində bir sistemin iş səmərəliliyinin qiymətləndirilməsində əsas rol oynayır. İstər sənaye səviyyəsində, istərsə də fərdi sistemlərdə optimal temperatur səviyyəsi sistemin adekvat işləməsi üçün şərtdir.

Bunun səbəbi budur, bu dərsdə moruq pi istifadə edərək SHT25 rütubət və temperatur sensörünün işini izah edəcəyik. Bu xüsusi dərslikdə onun işləməsi bir java kodu ilə nümayiş etdirilir.

Bu məqsədlə ehtiyac duyacağınız avadanlıqlar bunlardır:

1. SHT25

2. Moruq Pi

3. I2C Kabeli

4. Moruq pi üçün I2C qalxanı

Addım 1: SHT25 Baxış:

Ehtiyacınız olan…. !!
Ehtiyacınız olan…. !!

Hər şeydən əvvəl, sensorun əsas anlayışından və işlədiyi protokoldan başlayaq.

SHT25 I2C Rütubət və Temperatur Sensoru ± 1,8%RH ± 0,2 ° C I2C Mini Modulu. Yüksək dəqiqlikli rütubət və temperatur sensoru, rəqəmsal, I2C formatında kalibrlənmiş, xətti sensor siqnalları təmin edən forma faktoru və zəka baxımından bir sənaye standartına çevrilmişdir. Xüsusi bir analog və rəqəmsal dövrə ilə birləşdirilmiş bu sensor, temperatur və rütubəti ölçmək üçün ən təsirli cihazlardan biridir.

Sensorun işlədiyi rabitə protokolu I2C -dir. I2C, inteqrasiya edilmiş dövrəni ifadə edir. SDA (serial məlumat) və SCL (serial saat) xətləri vasitəsi ilə ünsiyyətin qurulduğu bir ünsiyyət protokoludur. Eyni anda birdən çox cihazı birləşdirməyə imkan verir. Ən sadə və ən təsirli ünsiyyət protokollarından biridir.

Addım 2: Ehtiyacınız olan şey..

Ehtiyacınız olan…. !!
Ehtiyacınız olan…. !!
Ehtiyacınız olan…. !!
Ehtiyacınız olan…. !!
Ehtiyacınız olan…. !!
Ehtiyacınız olan…. !!

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

1. SHT25 rütubət və temperatur sensoru

2. Moruq pi

3. I2C Kabeli

4. Raspberry Pi üçün I2C Shield

5. Ethernet Kabeli

Addım 3: 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:

  • SHT25 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 4: Temperatur və Rütubətin İzlənməsi Java Kodu:

İstilik və Nəmlik Monitorinqi Java Kodu
İstilik və Nəmlik Monitorinqi Java Kodu
İstilik və Nəmlik Monitorinqi Java Kodu
İstilik və Nəmlik Monitorinqi Java 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 Java proqramlaşdırmasını nümayiş etdiririk. SHT25 üçün Java kodunu Dcube Mağazası olan github cəmiyyətimizdən yükləyə bilərsiniz.

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

Kodlaşdırmanın ilk addımı olaraq java vəziyyətində pi4j 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:

pi4j.com/install.html

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

com.pi4j.io.i2c. I2CBus idxal edin;

com.pi4j.io.i2c. I2CDevice idxal edin; com.pi4j.io.i2c. I2CFactory idxal edin; java.io. IOException idxal edin; ümumi sinif SHT25 {public static void main (String args ) Exception salır {// I2C avtobusu yaradın I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C cihazı alın, SHT25 I2C ünvanı 0x40 (64) I2CDevice cihazı = Bus.getDevice (0x40); // İstilik ölçmə əmrini göndərin, master cihazı YOXDUR. Yazın ((bayt) 0xF3); Thread.sleep (500); // 2 bayt məlumat oxuyun // temp msb, temp lsb bayt data = yeni bayt [2]; device.read (data, 0, 2); // Verilənləri ikiqat çevirin cTemp = ((((((data [0] & 0xFF) * 256) + (data [1] & 0xFF)) * 175.72) / 65536.0) - 46.85; ikiqat fTemp = (cTemp * 1.8) + 32; // Rütubətin ölçülməsi əmrini göndərin, YOX HOLD master cihazını yazın ((bayt) 0xF5); Thread.sleep (500); // 2 bayt məlumat oxuyun // rütubət msb, rütubət lsb device.read (data, 0, 2); // Məlumatları ikiqat rütubətə çevirin = ((((((data [0] & 0xFF) * 256) + (data [1] & 0xFF)) * 125.0) / 65536.0) - 6; // Çıxış məlumatları System.out.printf ekranında ("Nisbi Nəmlik: %.2f %% RH %n", rütubət); System.out.printf ("Selsi İstiliyi: %.2f C %n", cTemp); System.out.printf ("Farhenheitdəki temperatur: %.2f F %n", fTemp); }}

Kodun çıxışı da yuxarıdakı şəkildə göstərilmişdir.

Sensor və lövhə arasında i2c əlaqəsini asanlaşdıran kitabxana pi4j -dir, onun müxtəlif paketləri I2CBus, I2CDevice və I2CFactory əlaqəni qurmağa kömək edir.

com.pi4j.io.i2c. I2CBus idxal edin;

com.pi4j.io.i2c. I2CDevice idxal edin; com.pi4j.io.i2c. I2CFactory idxal edin; java.io. IOException idxal edin;

Kodun bu hissəsi, sensorun yazma () funksiyasından istifadə edərək müvafiq əmrləri yazaraq temperaturun ölçülməsi və rütubətin ölçülməsi üçün işləməsini təmin edir və sonra oxumaq () funksiyasından istifadə edərək məlumatları oxuyur.

device.write ((bayt) 0xF3);

Thread.sleep (500);

// 2 bayt məlumat oxuyun

// temp msb, temp lsb

bayt məlumat = yeni bayt [2];

device.read (data, 0, 2);

// Rütubətin ölçülməsi əmrini göndərin, usta YOXDUR

device.write ((bayt) 0xF5);

Thread.sleep (500);

// 2 bayt məlumat oxuyun

// rütubət msb, rütubət lsb

device.read (data, 0, 2);

Addım 5: Tətbiqlər:

SHT25 temperatur və nisbi rütubət sensoru, temperaturun monitorinqi, kompüterin periferik istilik qorunması kimi müxtəlif sənaye tətbiqlərinə malikdir. Bu sensoru hava stansiyası tətbiqlərində və istixana izləmə sistemində də istifadə etdik.

Tövsiyə: