İçindekiler:

HYT939 ve Arduino Nano Kullanarak Nem Ölçümü: 4 Adım
HYT939 ve Arduino Nano Kullanarak Nem Ölçümü: 4 Adım

Video: HYT939 ve Arduino Nano Kullanarak Nem Ölçümü: 4 Adım

Video: HYT939 ve Arduino Nano Kullanarak Nem Ölçümü: 4 Adım
Video: BeagleBone Black HYT939 I2C Humidity and Temperature Sensor 'C' Code Tutorial 2024, Kasım
Anonim
Image
Image

HYT939, I2C iletişim protokolü üzerinde çalışan bir dijital nem sensörüdür. Tıbbi sistemler ve laboratuvarlar söz konusu olduğunda nem çok önemli bir parametredir, bu nedenle bu hedeflere ulaşmak için HYT939'u arduino nano ile arayüzlemeye çalıştık. Bu eğitimde, HYT939 sensör modülünün arduino nano ile arayüzlenmesi gösterilmektedir.

Nem değerlerini okumak için I2c adaptörlü arduino kullandık. Bu I2C adaptör sensör modülüne bağlantıyı daha kolay ve daha güvenilir hale getiriyor.

Sensörün üzerinde çalıştığı iletişim protokolü I2C'dir. I2C, inter-entegre devre anlamına gelir. Haberleşmenin SDA(seri data) ve SCL(seri saat) hatları üzerinden gerçekleştiği bir haberleşme protokolüdür. Aynı anda birden fazla cihazın bağlanmasına izin verir. En basit ve en verimli iletişim protokollerinden biridir.

Adım 1: Donanım Gerekli:

Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım

Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:

1. HYT939

2. Arduino Nano

3. I2C Kablosu

4. Arduino nano için I2C kalkanı

Adım 2: Donanım Bağlantısı:

Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı

Donanım bağlantısı bölümü, temel olarak sensör ve arduino nano arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:

HYT939, I2C üzerinden çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.

Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz. Tek ihtiyacınız olan dört tel!

Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.

Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.

Adım 3: Nem Ölçümü için Arduino Kodu:

Nem Ölçümü için Arduino Kodu
Nem Ölçümü için Arduino Kodu
Nem Ölçümü için Arduino Kodu
Nem Ölçümü için Arduino Kodu

Şimdi Arduinoo koduyla başlayalım.

Arduino ile sensör modülünü kullanırken Wire.h kütüphanesini dahil ediyoruz. "Wire" kütüphanesi, sensör ve Arduino kartı arasındaki i2c iletişimini kolaylaştıran fonksiyonları içerir.

Arduino kodunun tamamı, kullanıcının rahatlığı için aşağıda verilmiştir:

#Dahil etmek

// HYT939 I2C adresi 0x28(40)

#define Adres 0x28

geçersiz kurulum()

{

// I2C iletişimini MASTER olarak başlat

Wire.begin();

// Seri İletişimi Başlat

Seri.başla(9600);

gecikme(300);

}

boşluk döngüsü()

{

imzasız int veri[4];

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Normal mod komutu gönder

Wire.write(0x80);

// I2C iletimini durdur

Wire.endTransmission();

gecikme(300);

// 4 bayt veri iste

Wire.requestFrom(Adr, 4);

// 4 bayt veri oku

// nem msb, nem lsb, temp msb, temp lsb

if(Wire.available() == 4)

{

data[0] = Wire.read();

data[1] = Wire.read();

data[2] = Wire.read();

veri[3] = Wire.read();

// Veriyi 14 bit'e çevir

kayan nem = (((veri[0] & 0x3F) * 256.0) + veri[1]) * (100.0 / 16383.0);

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

float fTemp = (cTemp * 1.8) + 32;

// Verileri seri monitöre çıkar

Serial.print("Bağıl Nem: ");

Seri.print(nem);

Serial.println(" %RH");

Serial.print("Sıcaklık Santigrat Olarak: ");

Seri.print(cTemp);

Serial.println("C");

Serial.print("Sıcaklık Fahrenhayt Olarak: ");

Seri.print(fTemp);

Serial.println("F");

}

gecikme(300);

}

Tel kitaplığında Wire.write() ve Wire.read() komutları yazmak ve sensör çıkışını okumak için kullanılır. Kodun aşağıdaki kısmı, sensör çıkışının okunmasını gösterir.

// 4 bayt veri oku // nem msb, nem lsb, temp msb, temp lsb if(Wire.available() == 4) { data[0] = Wire.read(); data[1] = Wire.read(); data[2] = Wire.read(); veri[3] = Wire.read();

}

Sensör çıkışı yukarıdaki resimde gösterilmiştir.

Adım 4: Uygulamalar:

Uygulamalar
Uygulamalar

Verimli bir dijital nem sensörü olan HYT939, Tıbbi sistemlerde, Otoklavlarda kullanılmaktadır. Basınç çiy noktası ölçümü ve Kurutma sistemleri de bu sensör modülünün kullanımını bulur. Uygun nem seviyesinin deneyler yapmak için çok önemli bir parametre olduğu çeşitli Laboratuvarlarda, bu sensör nem ölçümleri için orada kullanılabilir.

Önerilen: