Mündəricat:

SHT25 və Arduino Nano istifadə edərək İstilik və Nəmlik Monitorinqi: 5 addım
SHT25 və Arduino Nano istifadə edərək İstilik və Nəmlik Monitorinqi: 5 addım

Video: SHT25 və Arduino Nano istifadə edərək İstilik və Nəmlik Monitorinqi: 5 addım

Video: SHT25 və Arduino Nano istifadə edərək İstilik və Nəmlik Monitorinqi: 5 addım
Video: Arduino Nano SHT25 I2C Humidity & Temperature Sensor Tutorial 2024, Noyabr
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 təlimatda SHT25 rütubət və temperatur sensörünün Arduino Nano ilə işləməsini izah edəcəyik.

Addım 1: SHT25 Baxış:

Nə Lazımdır.. !!
Nə Lazımdır.. !!

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: Nə Lazımdır..

Nə Lazımdır.. !!
Nə Lazımdır.. !!
Nə Lazımdır.. !!
Nə Lazımdır.. !!
Nə Lazımdır.. !!
Nə Lazımdır.. !!

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. Arduino Nano

3. I2C Kabeli

4. Arduino nano üçün I2C Shield

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

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

Donanım bağlama bölməsi əsasən sensor və arduino nano arasında lazım olan naqillərin ə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ət İzləmə Kodu:

Temperatur və Nəmlik Nəzarət Kodu
Temperatur və Nəmlik Nəzarət Kodu

İndi Arduino kodu ilə başlayaq.

Sensor modulunu Arduino ilə birlikdə istifadə edərkən Wire.h kitabxanasına daxil oluruq. "Tel" kitabxanası, sensor və Arduino lövhəsi arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.

İstifadəçinin rahatlığı üçün bütün Arduino kodu aşağıda verilmişdir:

#daxil edin

// SHT25 I2C ünvanı 0x40 (64)

#təyin et Addr 0x40

boş quraşdırma ()

{

// I2C ünsiyyətini MASTER olaraq başladın

Wire.begin ();

// Serial rabitəni işə salın, baud dərəcəsini = 9600 olaraq təyin edin

Serial.begin (9600);

gecikmə (300);

}

boşluq döngəsi ()

{

imzasız int məlumatları [2];

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

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

Wire.write (0xF5);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (500);

// 2 bayt məlumat tələb edin

Wire.requestFrom (Addr, 2);

// 2 bayt məlumat oxuyun

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

əgər (Tel.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Məlumatları çevirin

float rütubət = (((data [0] * 256.0 + data [1]) * 125.0) / 65536.0) - 6;

// Məlumatları Serial Monitora çıxarın

Serial.print ("Nisbi Nəmlik:");

Serial çap (rütubət);

Serial.println (" %RH");

}

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// İstilik ölçmə əmrini göndərin, usta YOXDUR

Wire.write (0xF3);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (500);

// 2 bayt məlumat tələb edin

Wire.requestFrom (Addr, 2);

// 2 bayt məlumat oxuyun

// temp msb, temp lsb

əgər (Tel.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Məlumatları çevirin

float cTemp = (((data [0] * 256.0 + data [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

// Məlumatları Serial Monitora çıxarın

Serial.print ("Selsi temperaturu:");

Serial.print (cTemp); Serial.println ("C");

Serial.print ("Fahrenheitdəki temperatur:");

Serial.print (fTemp);

Serial.println ("F");

}

gecikmə (300);

}

Etməyiniz lazım olan tək şey Arduinoda kodu yazmaq və serial portdakı oxunuşlarınızı yoxlamaqdır. Çıxış yuxarıdakı şəkildə göstərilir.

Addım 5: Tətbiqlər:

Tətbiqlər
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ə: