İçindekiler:
- Adım 1: Donanım Gerekli:
- Adım 2: Donanım Bağlantısı:
- Adım 3: Sıcaklık ve Nem Ölçümü Kodu:
- Adım 4: Uygulamalar:
Video: HDC1000 ve Parçacık Fotonu Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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:
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ı 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:
Ş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:
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:
MCP9803 ve Parçacık Fotonu Kullanarak Sıcaklık Ölçümü: 4 Adım
MCP9803 ve Partikül Fotonu Kullanarak Sıcaklık Ölçümü: MCP9803, 2 telli yüksek hassasiyetli bir sıcaklık sensörüdür. Sıcaklık algılama uygulamalarını kolaylaştıran, kullanıcı tarafından programlanabilen kayıtlarla yapılandırılmışlardır. Bu sensör, son derece gelişmiş çok bölgeli sıcaklık izleme sistemi için uygundur
STS21 ve Parçacık Fotonu Kullanarak Sıcaklık Ölçümü: 4 Adım
STS21 ve Partikül Fotonu Kullanarak Sıcaklık Ölçümü: STS21 Dijital Sıcaklık Sensörü, üstün performans ve yerden tasarruf sağlayan bir ayak izi sunar. Dijital, I2C formatında kalibre edilmiş, doğrusallaştırılmış sinyaller sağlar. Bu sensörün üretimi, üstün özelliklere atfedilen CMOSens teknolojisine dayanmaktadır
TMP112 ve Parçacık Fotonu Kullanarak Sıcaklık Ölçümü: 4 Adım
TMP112 ve Partikül Fotonu Kullanarak Sıcaklık Ölçümü: TMP112 Yüksek Doğruluk, Düşük Güç, Dijital Sıcaklık Sensörü I2C MINI modülü. TMP112, genişletilmiş sıcaklık ölçümü için idealdir. Bu cihaz, kalibrasyon veya harici bileşen sinyal koşullandırma gerektirmeden ±0.5°C doğruluk sunar.I
AD7416ARZ ve Parçacık Fotonu Kullanarak Sıcaklık Ölçümü: 4 Adım
AD7416ARZ ve Partikül Foton Kullanılarak Sıcaklık Ölçümü: AD7416ARZ, dört adet tek kanallı analog-dijital dönüştürücü ve içinde yerleşik bir sıcaklık sensörü bulunan 10-Bit sıcaklık sensörüdür. Parçaların üzerindeki sıcaklık sensörüne multiplexer kanalları üzerinden erişilebilir. Bu yüksek hassasiyetli sıcaklık
HTS221 ve Parçacık Fotonu Kullanarak Nem ve Sıcaklık Ölçümü: 4 Adım
HTS221 ve Partikül Fotonu Kullanarak Nem ve Sıcaklık Ölçümü: HTS221, bağıl nem ve sıcaklık için ultra kompakt kapasitif bir dijital sensördür. Dijital seri aracılığıyla ölçüm bilgilerini sağlamak için bir algılama elemanı ve karma sinyal uygulamasına özel entegre devre (ASIC) içerir