Mündəricat:

Particle Photon - HDC1000 Temperatur Sensor Dərsliyi: 4 Addım
Particle Photon - HDC1000 Temperatur Sensor Dərsliyi: 4 Addım

Video: Particle Photon - HDC1000 Temperatur Sensor Dərsliyi: 4 Addım

Video: Particle Photon - HDC1000 Temperatur Sensor Dərsliyi: 4 Addım
Video: Particle Photon HCPA-5V-U3 I2C Humidity & Temperature Sensor Tutorial 2024, Sentyabr
Anonim
Image
Image

HDC1000, çox aşağı gücdə əla ölçmə dəqiqliyi təmin edən inteqrasiya edilmiş temperatur sensoru olan rəqəmsal rütubət sensoru. Cihaz rütubəti yeni bir kapasitiv sensora əsaslanaraq ölçür. Rütubət və temperatur sensörleri zavodda kalibr edilmişdir. Tam -40 ° C ilə +125 ° C aralığında işləkdir. İşdə hissəcik fotonu ilə nümayişidir.

Addım 1: Nə Lazımdır..

Nə Lazımdır.. !!
Nə Lazımdır.. !!

1. Foton hissəcikləri

2. HDC1000

3. I²C Kabel

4. Partikül Foton üçün I²C Qalxanı

Addım 2: Bağlantı:

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

Hissəcik fotonu üçün bir I2C qalxanı götürün və zərrəcik foton sancaqlarının üzərinə itələyin.

Sonra I2C kabelinin bir ucunu HDC1000 sensoruna, digər ucunu isə I2C ekranına bağlayın.

Bağlantılar yuxarıdakı şəkildə göstərilmişdir.

Addım 3: Kod:

Kod
Kod

HDC1000 üçün hissəcik kodunu GitHub depomuzdan- Dcube Mağazasından yükləyə bilərsiniz.

İşdə bunun üçün bağlantı:

github.com/DcubeTechVentures/HDC1000…

HDC1000 məlumat cədvəlini burada tapa bilərsiniz:

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

Hissəcik kodu üçün application.h və spark_wiring_i2c.h olan iki kitabxanadan istifadə etdik. Sensorla I2C əlaqəsini asanlaşdırmaq üçün Spark_wiring_i2c kitabxanası lazımdır.

Kodu buradan da kopyalaya bilərsiniz, belə verilir:

// Azad iradə lisenziyası ilə paylanmışdır.

// İstənilən şəkildə, mənfəət və ya pulsuz istifadə edin, əlaqəli əsərlərinin lisenziyalarına uyğun gəlir.

// HDC1000

// Bu kod Dcube Store -da mövcud olan HDC1000_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır.

#daxil edin

#daxil edin

// HDC1000 I2C ünvanı 0x40 (64)

#təyin et Addr 0x40

float cTemp = 0.0, fTemp = 0.0, rütubət = 0.0;

int temp = 0, hum = 0;

boş quraşdırma ()

{

// Dəyişən təyin edin

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

Hissəcik.dəyişən ("rütubət", rütubət);

Particle.variable ("cTemp", cTemp);

// I2C ünsiyyətini işə salın

Wire.begin ();

// Serial Rabitəni Başlatın, baud dərəcəsini = 9600 olaraq təyin edin

Serial.begin (9600);

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Konfiqurasiya qeydini seçin

Wire.write (0x02);

// Temperatur, rütubət aktivdir, qətnamə = 14 bit, qızdırıcı aktivdir

Wire.write (0x30);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (300);

}

boşluq döngəsi ()

{

imzasız int məlumatları [2];

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// İstilik ölçmə əmrini göndərin

Wire.write (0x00);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (500);

// 2 bayt məlumat tələb edin

Wire.requestFrom (Addr, 2);

// 2 bayt məlumat oxuyun

// temp msb, temp lsb

əgər (Tel.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Məlumatları çevirin

temp = ((məlumat [0] * 256) + məlumat [1]);

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Nəm ölçmə əmrini göndərin

Wire.write (0x01);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (500);

// 2 bayt məlumat tələb edin

Wire.requestFrom (Addr, 2);

// 2 bayt məlumat oxuyun

// temp msb, temp lsb

əgər (Tel.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Məlumatları çevirin

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

rütubət = (zümzümə / 65536.0) * 100.0;

// Göstərişlər panelinə məlumat çıxarın

Particle.publish ("Nisbi Nəmlik:", String (rütubət));

Particle.publish ("Selsi İstiliyi:", String (cTemp));

Particle.publish ("Fahrenheitdəki temperatur:", String (fTemp));

gecikmə (1000);

}

Addım 4: Tətbiqlər:

HDC1000 istilik, havalandırma və kondisioner (HVAC), Ağıllı Termostatlar və Otaq Monitorlarında istifadə edilə bilər. Bu sensor həm də Yazıçılar, Əl Ölçənlər, Tibbi Cihazlar, Yük Göndərmə və Avtomobilin Ön Camı Dumanında tətbiqini tapır.

Tövsiyə: