Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
„HDC1000“yra skaitmeninis drėgmės jutiklis su integruotu temperatūros jutikliu, kuris užtikrina puikų matavimo tikslumą esant labai mažai galiai. Prietaisas matuoja drėgmę remdamasis nauju talpiniu jutikliu. Drėgmės ir temperatūros jutikliai yra sukalibruoti gamykloje. Jis veikia nuo -40 ° C iki +125 ° C temperatūros diapazone. Čia yra jo demonstravimas su dalelių fotonu.
1 žingsnis: ko jums reikia..
1. Dalelių fotonas
2. HDC1000
3. I²C kabelis
4. I²C skydas dalelių fotonui
2 veiksmas: prijungimas:
Paimkite dalelių fotono I2C skydą ir švelniai stumkite jį ant dalelių fotono kaiščių.
Tada vieną I2C kabelio galą prijunkite prie HDC1000 jutiklio, o kitą - prie I2C skydo.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
HDC1000 dalelių kodą galima atsisiųsti iš mūsų „GitHub“saugyklos- „Dcube Store“.
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/HDC1000…
HDC1000 duomenų lapą rasite čia:
www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf
Dalelių kodui panaudojome dvi bibliotekas - application.h ir spark_wiring_i2c.h. Norint palengvinti I2C ryšį su jutikliu, reikalinga „Spark_wiring_i2c“biblioteka.
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
// Platinama su laisvos valios licencija.
// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.
// HDC1000
// Šis kodas skirtas dirbti su „HDC1000_I2CS I2C Mini“moduliu, kurį galima įsigyti „Dcube Store“.
#įtraukti
#įtraukti
// HDC1000 I2C adresas yra 0x40 (64)
#define Addr 0x40
plūdė cTemp = 0,0, fTemp = 0,0, drėgmė = 0,0;
int temp = 0, hum = 0;
negaliojanti sąranka ()
{
// Nustatyti kintamąjį
Particle.variable („i2cdevice“, „HDC1000“);
Dalelė.kintamas ("drėgmė", drėgmė);
Particle.variable ("cTemp", cTemp);
// Inicijuoti I2C komunikaciją
Wire.begin ();
// Inicijuoti serijinį ryšį, nustatyti duomenų perdavimo spartą = 9600
Serial.begin (9600);
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite konfigūracijos registrą
Wire.write (0x02);
// Temperatūra, įjungta drėgmė, rezoliucija = 14 bitų, šildytuvas įjungtas
Wire.write (0x30);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (300);
}
tuštumos kilpa ()
{
nepasirašyti int duomenys [2];
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Siųsti temperatūros matavimo komandą
Wire.write (0x00);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (500);
// Prašyti 2 baitų duomenų
Wire.requestFrom (Addr, 2);
// Skaityti 2 baitus duomenų
// temp msb, temp lsb
jei (Wire.available () == 2)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
}
// Konvertuoti duomenis
temp = ((duomenys [0] * 256) + duomenys [1]);
cTemp = (temp / 65536,0) * 165,0 - 40;
fTemp = cTemp * 1,8 + 32;
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Siųsti drėgmės matavimo komandą
Wire.write (0x01);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (500);
// Prašyti 2 baitų duomenų
Wire.requestFrom (Addr, 2);
// Skaityti 2 baitus duomenų
// temp msb, temp lsb
jei (Wire.available () == 2)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
}
// Konvertuoti duomenis
hum = ((duomenys [0] * 256) + duomenys [1]);
drėgmė = (hum / 65536,0) * 100,0;
// Išvesti duomenis į prietaisų skydelį
Particle.publish ("Santykinė drėgmė:", Styga (drėgmė));
Particle.publish ("Temperatūra Celsijaus laipsniais:", Styga (cTemp));
Particle.publish ("Temperatūra Farenheitu:", Styga (fTemp));
vėlavimas (1000);
}
4 žingsnis: programos:
HDC1000 gali būti naudojamas šildymui, vėdinimui ir oro kondicionavimui (ŠVOK), išmaniesiems termostatams ir kambario monitoriams. Šis jutiklis taip pat naudojamas spausdintuvuose, rankiniuose matuokliuose, medicinos prietaisuose, krovinių gabenime ir automobilių priekinio stiklo rūke.