İçindekiler:

Parçacık Fotonu - HDC1000 Sıcaklık Sensörü Eğitimi: 4 Adım
Parçacık Fotonu - HDC1000 Sıcaklık Sensörü Eğitimi: 4 Adım

Video: Parçacık Fotonu - HDC1000 Sıcaklık Sensörü Eğitimi: 4 Adım

Video: Parçacık Fotonu - HDC1000 Sıcaklık Sensörü Eğitimi: 4 Adım
Video: "Güneş Tanrıçası": Var Olmaması Gereken Bir Parçacık Daha Keşfedildi! 2024, Eylül
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. İşte parçacık foton ile gösterimi.

Adım 1: İhtiyacınız Olan Şey..!

Neye ihtiyacın var..!!
Neye ihtiyacın var..!!

1. Parçacık Fotonu

2. HDC1000

3. I²C Kablosu

4. Parçacık Fotonu için I²C Kalkanı

Adım 2: Bağlantı:

Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı

Parçacık fotonu için bir I2C kalkanı alın ve yavaşça parçacık fotonun pimlerinin üzerine itin.

Ardından I2C kablosunun bir ucunu HDC1000 sensörüne ve diğer ucunu I2C blendajına bağlayın.

Bağlantılar yukarıdaki resimde gösterilmiştir.

Adım 3: Kod:

Kod
Kod

HDC1000 için parçacık kodu GitHub depomuz-Dcube Store'dan indirilebilir.

İşte aynısı için bağlantı:

github.com/DcubeTechVentures/HDC1000…

HDC1000 veri sayfası burada bulunabilir:

www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf

Partikül kodu için application.h ve spark_wiring_i2c.h olan iki kitaplık kullandık. Sensörle I2C iletişimini kolaylaştırmak için Spark_wiring_i2c kitaplığı gereklidir.

Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:

// Özgür irade lisansıyla dağıtılır.

// İlişkili çalışmalarının lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.

// HDC1000

// Bu kod, Dcube Store'da bulunan HDC1000_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.

#Dahil etmek

#Dahil etmek

// HDC1000 I2C adresi 0x40(64)

#define Addr 0x40

float 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));

Particle.publish("Sıcaklık Santigrat Olarak: ", String(cTemp));

Particle.publish("Sıcaklık Fahrenhayt Olarak: ", String(fTemp));

gecikme(1000);

}

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: