Mündəricat:

HYT939 və Arduino Nano istifadə edərək rütubətin ölçülməsi: 4 addım
HYT939 və Arduino Nano istifadə edərək rütubətin ölçülməsi: 4 addım

Video: HYT939 və Arduino Nano istifadə edərək rütubətin ölçülməsi: 4 addım

Video: HYT939 və Arduino Nano istifadə edərək rütubətin ölçülməsi: 4 addım
Video: Particle Photon HYT939 I2C Humidity and Temperature Sensor Tutorial 2024, Iyul
Anonim
Image
Image

HYT939, I2C rabitə protokolu üzərində işləyən rəqəmsal rütubət sensoru. Nəmlik, tibbi sistemlərə və laboratoriyalara gəldikdə əsas bir parametrdir, buna görə də bu məqsədlərə çatmaq üçün HYT939 -u arduino nano ilə birləşdirməyə çalışdıq. Bu dərslikdə HYT939 sensor modulunun arduino nano ilə qarşılıqlı əlaqəsi göstərilir.

Nəmlik dəyərlərini oxumaq üçün I2c adapteri olan arduino istifadə etdik. Bu I2C adapteri sensor moduluna qoşulmağı asanlaşdırır və daha etibarlıdır.

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 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. HYT939

2. Arduino Nano

3. I2C Kabeli

4. Arduino nano üçün I2C qalxanı

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

HYT939 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: Nəm Ölçmə Arduino Kodu:

Rütubət Ölçmə Arduino Kodu
Rütubət Ölçmə Arduino Kodu
Rütubət Ölçmə Arduino Kodu
Rütubət Ölçmə Arduino Kodu

İndi Arduinoo 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

// HYT939 I2C ünvanı 0x28 (40)

#define Addr 0x28

boş quraşdırma ()

{

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

Wire.begin ();

// Serial Ünsiyyətə Başlayın

Serial.begin (9600);

gecikmə (300);

}

boşluq döngəsi ()

{

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

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

Wire.beginTransmission (Addr);

// Normal rejim əmrini göndərin

Wire.write (0x80);

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

Wire.endTransmission ();

gecikmə (300);

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

Wire.requestFrom (Addr, 4);

// 4 bayt məlumat oxuyun

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

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

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

// Məlumatı 14 bitə çevirin

float rütubət = (((data [0] & 0x3F) * 256.0) + data [1]) * (100.0 / 16383.0);

float cTemp = (((data [2] * 256.0) + (data [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

float fTemp = (cTemp * 1.8) + 32;

// Məlumatların serial monitora çıxarılması

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

Serial çap (rütubət);

Serial.println (" %RH");

Serial.print ("Selsi temperaturu:");

Serial.print (cTemp);

Serial.println ("C");

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

Serial.print (fTemp);

Serial.println ("F");

}

gecikmə (300);

}

Tel kitabxanasında Wire.write () və Wire.read () əmrləri yazmaq və sensor çıxışını oxumaq üçün istifadə olunur. Kodun aşağıdakı hissəsi sensor çıxışının oxunmasını göstərir.

// 4 bayt məlumat oxuyun // rütubət msb, rütubət lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); data [3] = Wire.read ();

}

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

Addım 4: Tətbiqlər:

Tətbiqlər
Tətbiqlər

HYT939, səmərəli rəqəmsal rütubət sensoru olmaqla Tibbi sistemlərdə, Otoklavlarda istifadə olunur. Təzyiq çiy nöqtəsinin ölçülməsi və Qurutma sistemləri də bu sensor modulunun istifadəsini tapır. Müvafiq rütubət səviyyəsinin təcrübələr aparmaq üçün əsas parametr olduğu müxtəlif laboratoriyalarda bu sensor rütubətin ölçülməsi üçün orada yerləşdirilə bilər.

Tövsiyə: