Isi kandungan:

Pengukuran Kelembapan Menggunakan HYT939 dan Arduino Nano: 4 Langkah
Pengukuran Kelembapan Menggunakan HYT939 dan Arduino Nano: 4 Langkah

Video: Pengukuran Kelembapan Menggunakan HYT939 dan Arduino Nano: 4 Langkah

Video: Pengukuran Kelembapan Menggunakan HYT939 dan Arduino Nano: 4 Langkah
Video: Arduino Nano HYT939 I2C Humidity and Temperature Sensor Tutorial 2024, November
Anonim
Image
Image

HYT939 adalah sensor kelembapan digital yang berfungsi pada protokol komunikasi I2C. Kelembapan adalah parameter penting dalam sistem perubatan dan makmal. Oleh itu, untuk mencapai tujuan ini, kami cuba menghubungkan HYT939 dengan arduino nano. Dalam tutorial ini ditunjukkan antara muka modul sensor HYT939 dengan arduino nano.

Untuk membaca nilai kelembapan, kami telah menggunakan arduino dengan penyesuai I2c. Penyesuai I2C ini menjadikan sambungan ke modul sensor mudah dan lebih dipercayai.

Protokol komunikasi di mana sensor berfungsi adalah I2C. I2C bermaksud litar antara bersepadu. Ini adalah protokol komunikasi di mana komunikasi berlaku melalui talian SDA (data bersiri) dan SCL (jam bersiri). Ia membolehkan menyambungkan pelbagai peranti pada masa yang sama. Ini adalah salah satu protokol komunikasi yang paling mudah dan berkesan.

Langkah 1: Perkakasan Diperlukan:

Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan

Bahan yang kami perlukan untuk mencapai tujuan kami merangkumi komponen perkakasan berikut:

1. HYT939

2. Arduino Nano

3. Kabel I2C

4. Perisai I2C untuk Arduino nano

Langkah 2: Penyambungan Perkakasan:

Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan

Bahagian penyambungan perkakasan pada dasarnya menerangkan sambungan pendawaian yang diperlukan antara sensor dan arduino nano. Memastikan sambungan yang betul adalah keperluan asas semasa mengerjakan sistem apa pun untuk output yang diinginkan. Jadi, sambungan yang diperlukan adalah seperti berikut:

HYT939 akan berfungsi menggunakan I2C. Berikut adalah contoh rajah pendawaian, yang menunjukkan cara memasang setiap antara muka sensor.

Di luar kotak, papan dikonfigurasikan untuk antara muka I2C, oleh itu kami mengesyorkan menggunakan penyambungan ini jika anda tidak agnostik. Yang anda perlukan hanyalah empat wayar!

Hanya diperlukan empat sambungan pin Vcc, Gnd, SCL dan SDA dan ini disambungkan dengan bantuan kabel I2C.

Sambungan ini ditunjukkan dalam gambar di atas.

Langkah 3: Kod Arduino untuk Pengukuran Kelembapan:

Kod Arduino untuk Pengukuran Kelembapan
Kod Arduino untuk Pengukuran Kelembapan
Kod Arduino untuk Pengukuran Kelembapan
Kod Arduino untuk Pengukuran Kelembapan

Mari mulakan dengan kod Arduinoo sekarang.

Semasa menggunakan modul sensor dengan Arduino, kami menyertakan perpustakaan Wire.h. Perpustakaan "Wire" mengandungi fungsi yang memudahkan komunikasi i2c antara sensor dan papan Arduino.

Keseluruhan kod Arduino diberikan di bawah untuk kemudahan pengguna:

#sertakan

// Alamat HYT939 I2C adalah 0x28 (40)

#tentukan Addr 0x28

persediaan tidak sah ()

{

// Memulakan komunikasi I2C sebagai MASTER

Wire.begin ();

// Memulakan Komunikasi Bersiri

Serial.begin (9600);

kelewatan (300);

}

gelung kosong ()

{

data int yang tidak ditandatangani [4];

// Mulakan Penghantaran I2C

Wire.beginTransmission (Addr);

// Hantar arahan mod biasa

Wire.write (0x80);

// Hentikan penghantaran I2C

Wire.endTransmission ();

kelewatan (300);

// Minta 4 bait data

Wire.requestFrom (Addr, 4);

// Baca 4 bait data

// kelembapan msb, kelembapan lsb, temp msb, temp lsb

jika (Wire.available () == 4)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

// Tukarkan data menjadi 14-bit

kelembapan apungan = (((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;

apungan fTemp = (cTemp * 1.8) + 32;

// Keluarkan data ke monitor bersiri

Serial.print ("Kelembapan Relatif:");

Cetakan bersiri (kelembapan);

Serial.println ("% RH");

Serial.print ("Suhu dalam Celsius:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Suhu di Fahrenheit:");

Serial.print (fTemp);

Serial.println ("F");

}

kelewatan (300);

}

Di perpustakaan wayar Wire.write () dan Wire.read () digunakan untuk menulis perintah dan membaca output sensor. Berikut bahagian kod menggambarkan pembacaan output sensor.

// Baca 4 bait data // kelembapan msb, kelembapan lsb, temp msb, temp lsb jika (Wire.available () == 4) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); data [3] = Wire.read ();

}

Output sensor ditunjukkan pada gambar di atas.

Langkah 4: Aplikasi:

Permohonan
Permohonan

HYT939 menjadi sensor kelembapan digital yang cekap digunakan dalam sistem Perubatan, Autoklaf. Pengukuran titik embun tekanan dan sistem Pengeringan juga menemui penggunaan modul sensor ini. Di pelbagai Makmal di mana tahap kelembapan yang sesuai adalah parameter penting untuk menjalankan eksperimen, sensor ini dapat digunakan di sana untuk pengukuran kelembapan.

Disyorkan: