Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
HDC1000 on digitaalne niiskusandur koos integreeritud temperatuurianduriga, mis tagab suurepärase mõõtmistäpsuse väga väikese võimsusega. Seade mõõdab niiskust uue mahtuvusliku anduri põhjal. Niiskus- ja temperatuuriandurid on tehases kalibreeritud. See on funktsionaalne temperatuurivahemikus -40 ° C kuni +125 ° C.
Selles õpetuses on illustreeritud HDC1000 andurimooduli liidestumist osakeste footoniga. Temperatuuri ja niiskuse väärtuste lugemiseks oleme kasutanud osakesi koos I2c adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.
Samm: vajalik riistvara:
Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:
1. HDC1000
2. Osakeste footon
3. I2C kaabel
4. I2C kilp osakeste footonile
2. samm: riistvara ühendamine:
Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja osakeste footoni vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:
HDC1000 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.
Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik.
Kõik, mida vajate, on neli juhtmest! Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.
Neid seoseid on näidatud ülaltoodud piltidel.
3. samm: temperatuuri ja niiskuse mõõtmise kood:
Alustame nüüd osakeste koodist.
Andurimooduli kasutamisel koos osakesega kaasame teeki application.h ja spark_wiring_i2c.h. Raamatukogu "application.h" ja spark_wiring_i2c.h sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja osakese vahel.
Kogu osakeste kood on kasutaja mugavuse huvides toodud allpool:
#kaasake
#kaasake
// HDC1000 I2C aadress on 0x40 (64)
#define Addr 0x40
kahekordne cTemp = 0,0, fTemp = 0,0, niiskus = 0,0;
int temp = 0, hum = 0;
tühine seadistus ()
{
// Määra muutuja
Particle.variable ("i2cdevice", "HDC1000");
Osake.muutuja ("niiskus", niiskus);
Particle.variable ("cTemp", cTemp);
// Initsialiseeri I2C side
Wire.begin ();
// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600
Seriaalne algus (9600);
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige konfiguratsiooniregister
Wire.write (0x02);
// Temperatuur, niiskus lubatud, resolutsioon = 14-bitine, kütteseade sisse lülitatud
Wire.write (0x30);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (300);
}
tühine tsükkel ()
{
allkirjastamata int andmed [2];
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Saada temp mõõtmise käsk
Wire.write (0x00);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (500);
// Taotle 2 baiti andmeid
Wire.requestFrom (Addr, 2);
// Lugege 2 baiti andmeid
// temp msb, temp lsb
kui (Wire.available () == 2)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
}
// Teisendage andmed
temp = ((andmed [0] * 256) + andmed [1]);
cTemp = (temp / 65536,0) * 165,0-40;
fTemp = cTemp * 1,8 + 32;
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Niiskuse mõõtmise käsk
Wire.write (0x01);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (500);
// Taotle 2 baiti andmeid
Wire.requestFrom (Addr, 2);
// Lugege 2 baiti andmeid
// temp msb, temp lsb
kui (Wire.available () == 2)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
}
// Teisendage andmed
hum = ((andmed [0] * 256) + andmed [1]);
niiskus = (hum / 65536,0) * 100,0;
// Andmete väljastamine armatuurlauale
Particle.publish ("Suhteline õhuniiskus:", String (niiskus));
viivitus (1000);
Particle.publish ("Temperatuur Celsiuse järgi:", String (cTemp));
viivitus (1000);
Particle.publish ("Temperatuur Fahrenheiti järgi:", String (fTemp));
viivitus (1000);
}
Funktsioon Particle.variable () loob muutujad anduri väljundi salvestamiseks ja Particle.publish () kuvab väljundi saidi armatuurlaual.
Anduri väljund on näidatud ülaltoodud pildil.
4. samm: rakendused:
HDC1000 saab kasutada kütte-, ventilatsiooni- ja kliimaseadmete (HVAC), nutikate termostaatide ja ruumimonitoride jaoks. See andur leiab rakendust ka printerites, pihuarvutites, meditsiiniseadmetes, kaubaveos ja autotööstuse tuuleklaasi udus.