Mündəricat:

HDC1000 və Particle Photon istifadə edərək temperatur və rütubətin ölçülməsi: 4 addım
HDC1000 və Particle Photon istifadə edərək temperatur və rütubətin ölçülməsi: 4 addım

Video: HDC1000 və Particle Photon istifadə edərək temperatur və rütubətin ölçülməsi: 4 addım

Video: HDC1000 və Particle Photon istifadə edərək temperatur və rütubətin ölçülməsi: 4 addım
Video: HUARONG HDC1000 Двухкомпонентное литье стекла заднего фонаря 2024, Iyul
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.

Bu təlimatda HDC1000 sensor modulunun hissəcik fotonu ilə qarşılıqlı əlaqəsi təsvir edilmişdir. İstilik və rütubət dəyərlərini oxumaq üçün I2c adapteri olan hissəciklərdən istifadə etdik. Bu I2C adapteri sensor moduluna qoşulmağı asanlaşdırır və daha etibarlı edir.

Addım 1: Lazım olan avadanlıq:

Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur

Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:

1. HDC1000

2. Foton hissəcikləri

3. I2C Kabeli

4. Partikül fotonu üçün I2C Shield

Addım 2: Hardware Bağlantısı:

Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama

Avadanlıq bağlama bölməsi əsasən sensor və hissəcik fotonu arasında lazım olan naqillərin əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:

HDC1000 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.

Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük.

Lazım olan tək şey dörd teldir! Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.

Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.

Addım 3: Temperatur və Rütubət Ölçmə Kodu:

İstilik və Nəmlik Ölçmə Kodları
İstilik və Nəmlik Ölçmə Kodları

İndi hissəcik kodundan başlayaq.

Sensor modulunu hissəciklə birlikdə istifadə edərkən application.h və spark_wiring_i2c.h kitabxanasını daxil edirik. "application.h" və spark_wiring_i2c.h kitabxanası, sensor və hissəcik arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.

İstifadəçinin rahatlığı üçün bütün hissəcik kodu aşağıda verilmişdir:

#daxil edin

#daxil edin

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

#təyin et Addr 0x40

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

gecikmə (1000);

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

gecikmə (1000);

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

gecikmə (1000);

}

Particle.variable () funksiyası sensorun çıxışını saxlamaq üçün dəyişənlər yaradır və Particle.publish () funksiyası saytın tablosuna çıxışı göstərir.

Sensor çıxışı istinad üçün yuxarıdakı şəkildə göstərilmişdir.

Addım 4: Tətbiqlər:

Tətbiqlər
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ə: