İçindekiler:

HDC1000 ve Parçacık Fotonu Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
HDC1000 ve Parçacık Fotonu Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım

Video: HDC1000 ve Parçacık Fotonu Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım

Video: HDC1000 ve Parçacık Fotonu Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
Video: HDC-1000 Demo & Tutorial on the Set up menue 2024, Temmuz
Anonim
Image
Image

HDC1000, çok düşük güçte mükemmel ölçüm doğruluğu sağlayan entegre sıcaklık sensörüne sahip bir dijital nem sensörüdür. Cihaz, yeni bir kapasitif sensöre dayalı olarak nemi ölçer. Nem ve sıcaklık sensörleri fabrikada kalibre edilmiştir. Tam -40°C ila +125°C sıcaklık aralığında çalışır.

Bu eğitimde, HDC1000 sensör modülünün parçacık fotonu ile ara yüzü gösterilmiştir. Sıcaklık ve nem değerlerini okumak için I2c adaptörlü partikül 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

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

1. HDC1000

2. Parçacık Fotonu

3. I2C Kablosu

4. Parçacık fotonu için I2C Shield

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 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:

HDC1000, 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: Sıcaklık ve Nem Ölçümü Kodu:

Sıcaklık ve Nem Ölçümü Kodu
Sıcaklık ve Nem Ölçümü Kodu

Şimdi parçacık koduyla başlayalım.

Sensör modülünü parçacık ile 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

// HDC1000 I2C adresi 0x40(64)

#define Addr 0x40

çift cTemp = 0.0, fTemp = 0.0, nem = 0.0;

int sıcaklık = 0, uğultu = 0;

geçersiz kurulum()

{

// Değişken ayarla

Particle.variable("i2ccihaz", "HDC1000");

Particle.variable("nem",nem);

Particle.variable("cTemp",cTemp);

// I2C iletişimini başlat

Wire.begin();

// Seri İletişimi Başlat, baud hızını ayarla = 9600

Seri.başla(9600);

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Yapılandırma kaydını seç

Wire.write(0x02);

// Sıcaklık, nem etkin, çözünürlük = 14 bit, ısıtıcı açık

Wire.write(0x30);

// I2C İletimini Durdur

Wire.endTransmission();

gecikme(300);

}

boşluk döngüsü()

{

imzasız int veri[2];

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Sıcaklık ölçüm komutu gönder

Wire.write(0x00);

// I2C İletimini Durdur

Wire.endTransmission();

gecikme(500);

// 2 bayt veri iste

Wire.requestFrom(Adr, 2);

// 2 bayt veri oku

// temp msb, temp lsb

if (Wire.available() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

// Verileri dönüştür

sıcaklık = ((veri[0] * 256) + veri[1]);

cTemp = (sıcaklık / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Nem ölçüm komutu gönder

Wire.write(0x01);

// I2C İletimini Durdur

Wire.endTransmission();

gecikme(500);

// 2 bayt veri iste

Wire.requestFrom(Adr, 2);

// 2 bayt veri oku

// temp msb, temp lsb

if (Wire.available() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

// Verileri dönüştür

hum = ((veri[0] * 256) + veri[1]);

nem = (hum / 65536.0) * 100.0;

// 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:

Uygulamalar
Uygulamalar

HDC1000, ısıtma, havalandırma ve klima (HVAC), Akıllı Termostatlar ve Oda Monitörlerinde kullanılabilir. Bu sensör aynı zamanda Yazıcılar, Portatif Sayaçlar, Tıbbi Cihazlar, Kargo Nakliyesi ve Otomotiv Ön Cam Buğu Çözmesinde de uygulama bulur.

Önerilen: