İçindekiler:

HYT939 ve Raspberry Pi Kullanarak Nem Ölçümü: 4 Adım
HYT939 ve Raspberry Pi Kullanarak Nem Ölçümü: 4 Adım

Video: HYT939 ve Raspberry Pi Kullanarak Nem Ölçümü: 4 Adım

Video: HYT939 ve Raspberry Pi Kullanarak Nem Ölçümü: 4 Adım
Video: Raspberry Pi HYT939 I2C Humidity and Temperature Sensor Java Tutorial 2024, Temmuz
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 ahududu pi ile arayüzlemeye çalıştık. Bu eğitimde, HYT939 sensör modülünün ahududu pi ile arayüzlenmesi ve Java dili kullanılarak programlanması da gösterilmiştir.

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

Adım 1: Donanım Gerekli:

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

Görevi gerçekleştirmek için gereken donanım aşağıdaki gibidir:

1. HYT939

2. Ahududu Pi

3. I2C Kablosu

4. Raspberry Pi için I2C Kalkanı

5. Ethernet Kablosu

-

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 ahududu pi 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 Java Kodu:

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

Raspberry pi kullanmanın avantajı, kartı programlamak istediğiniz programlama dilinin, sensör ile arayüz oluşturmak için size esneklik sağlamasıdır. Bu kartın bu avantajından yararlanarak, burada Java'daki programlamasını gösteriyoruz. HYT939 için java kodu, Dcube Store olan github topluluğumuzdan indirilebilir.

Kullanıcıların kolaylığının yanı sıra, kodu burada da açıklıyoruz:

Kodlamanın ilk adımı olarak java durumunda pi4j kütüphanesini indirmeniz gerekiyor çünkü bu kütüphane kodda kullanılan fonksiyonları destekliyor. Bu nedenle, kütüphaneyi indirmek için aşağıdaki bağlantıyı ziyaret edebilirsiniz:

pi4j.com/install.html

Bu sensör için çalışan Java kodunu buradan da kopyalayabilirsiniz:

com.pi4j.io.i2c. I2CBus'u içe aktarın;

com.pi4j.io.i2c. I2CDevice'ı içe aktarın;

com.pi4j.io.i2c. I2CFFactory'yi içe aktarın;

java.io. IOException'ı içe aktarın;

genel sınıf HYT939

{

public static void main(String args) İstisna atar

{

// I2CBus oluştur

I2CBus veri yolu = I2CFactory.getInstance(I2CBus. BUS_1);

// I2C cihazını al, HYT939 I2C adresi 0x28(40)

I2CDevice cihazı = bus.getDevice(0x28);

// Normal mod komutu gönder

device.write((bayt)0x80);

thread.sleep(500);

// 4 bayt veri oku

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

bayt veri = yeni bayt[4];

device.read(veri, 0, 4);

// Veriyi 14 bit'e çevir

çift nem = (((veri[0] & 0x3F) * 256) + (veri[1] & 0xFF)) * (100.0 / 16383.0);

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

çift fTemp = (cTemp * 1.8) + 32;

// Ekrana veri çıktısı

System.out.printf("Bağıl Nem: %.2f %%RH %n", nem);

System.out.printf("Sıcaklık Santigrat olarak: %.2f C %n", cTemp);

System.out.printf("Sıcaklık Fahrenheit cinsinden: %.2f F %n", fTemp);

}

}

Sensör ve kart arasındaki i2c iletişimini kolaylaştıran kütüphane pi4j'dir, çeşitli paketleri I2CBus, I2CDevice ve I2CFctory bağlantının kurulmasına yardımcı olur.

com.pi4j.io.i2c. I2CBus'u içe aktar; com.pi4j.io.i2c. I2CDevice'ı içe aktar; com.pi4j.io.i2c. I2CFFactory'yi içe aktarın; java.io. IOException'ı içe aktarın;

write() ve read() işlevleri, sensöre belirli bir modda çalışmasını sağlamak için belirli komutlar yazmak ve sırasıyla sensör çıktısını okumak için kullanılır. Kodun aşağıdaki kısmı bu işlevlerin kullanımını gösterir.

// Normal mod komutu gönder device.write((byte)0x80); thread.sleep(500); // 4 bayt veri oku // nem msb, nem lsb, temp msb, temp lsb bayt veri = yeni bayt[4]; device.read(veri, 0, 4);

Sensörün çıkışı da yukarıdaki resimde gösterilmektedir.

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: