İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
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 parçacık fotonu ile arayüzlenmesi gösterilmiştir.
Nem değerlerini okumak için I2c adaptörü ile partikül fotonu kullandık. Bu I2C adaptörü sensör modülüne bağlantıyı daha kolay ve daha güvenilir hale getiriyor. Partikül fotonu, web sitesinden veri göndermeyi ve almayı kolaylaştıran, en çok destekleyen bir karttır. Nesnelerin İnterneti'nin (IoT) temel özelliği.
Adım 1: Donanım Gerekli:
Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:
1. HYT939
2. Parçacık Fotonu
3. I2C Kablosu
4. Parçacık Fotonu İçin I2C Kalkanı
Adım 2: Donanım Bağlantısı:
Donanım bağlantısı bölümü temel olarak sensör ve parçacık fotonu 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ü Kodu:
Şimdi parçacık koduyla başlayalım.
Arduino ile sensör modülünü kullanırken application.h ve spark_wiring_i2c.h kütüphanesini dahil ediyoruz. "application.h" ve spark_wiring_i2c.h kitaplığı, sensör ve parçacık arasındaki i2c iletişimini kolaylaştıran işlevleri içerir.
Parçacık kodunun tamamı, kullanıcının rahatlığı için aşağıda verilmiştir:
#Dahil etmek
#Dahil etmek
// HYT939 I2C adresi 0x28(40)
#define Adres 0x28
çift nem = 0.0, cTemp = 0.0, fTemp = 0.0;
geçersiz kurulum()
{
// Değişken ayarla
Particle.variable("i2ccihaz", "HYT939");
Particle.variable("cTemp",cTemp);
Particle.variable("nem",nem);
// 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 iletimini başlat
Wire.beginTransmission(Adr);
// Normal mod komutu gönder
Wire.write(0x80);
// I2C iletimini durdur
Wire.endTransmission();
gecikme(300);
// Cihazdan 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
nem = (((veri[0] & 0x3F) * 256.0) + veri[1]) * (100.0 / 16383.0);
cTemp = (((veri[2] * 256.0) + (veri[3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;
fTemp = (cTemp * 1.8) + 32;
// Gösterge tablosuna veri çıkışı
Particle.publish("Bağıl Nem: ", String(nem));
gecikme(1000);
Particle.publish("Sıcaklık Santigrat Olarak: ", String(cTemp));
gecikme(1000);
Particle.publish("Sıcaklık Fahrenhayt Olarak: ", String(fTemp));
gecikme(1000);
}
Particle.variable() işlevi, sensörün çıktısını depolamak için değişkenleri oluşturur ve Particle.publish() işlevi, çıktıyı sitenin panosunda görüntüler.
Sensör çıkışı, referansınız için yukarıdaki resimde gösterilmektedir.
Adım 4: 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.