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.
Šioje pamokoje buvo parodyta HDC1000 jutiklio modulio sąsaja su dalelių fotonu. Norėdami nuskaityti temperatūros ir drėgmės vertes, naudojome daleles su I2c adapteriu. Šis I2C adapteris leidžia lengvai ir patikimiau prijungti jutiklio modulį.
1 veiksmas: reikalinga aparatūra:
Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:
1. HDC1000
2. Dalelių fotonas
3. I2C kabelis
4. I2C skydas dalelių fotonui
2 veiksmas: prijungimas prie aparatūros:
Techninės įrangos prijungimo skyrius iš esmės paaiškina laidų jungtis, reikalingas tarp jutiklio ir dalelių fotono. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:
HDC1000 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.
Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas.
Viskas, ko jums reikia, yra keturi laidai! Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.
Šie ryšiai parodyti aukščiau esančiose nuotraukose.
3 žingsnis: Temperatūros ir drėgmės matavimo kodas:
Pradėkime nuo dalelių kodo dabar.
Naudodami jutiklio modulį su dalele, įtraukiame „application.h“ir „spark_wiring_i2c.h“biblioteką. Bibliotekoje „application.h“ir spark_wiring_i2c.h yra funkcijos, palengvinančios i2c ryšį tarp jutiklio ir dalelės.
Visas dalelių kodas pateikiamas žemiau, kad būtų patogiau vartotojui:
#įtraukti
#įtraukti
// HDC1000 I2C adresas yra 0x40 (64)
#define Addr 0x40
dvigubas 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ė));
vėlavimas (1000);
Particle.publish ("Temperatūra Celsijaus laipsniais:", Styga (cTemp));
vėlavimas (1000);
Particle.publish ("Temperatūra Farenheitu:", Styga (fTemp));
vėlavimas (1000);
}
Funkcija „Particle.variable ()“sukuria kintamuosius, kad išsaugotų jutiklio išvestį, o „Particle.publish“() rodo išvestį svetainės prietaisų skydelyje.
Jutiklio išvestis yra parodyta aukščiau esančiame paveikslėlyje.
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.