Sisällysluettelo:

Lämpötilan ja kosteuden mittaus HDC1000: n ja hiukkasfotonin avulla: 4 vaihetta
Lämpötilan ja kosteuden mittaus HDC1000: n ja hiukkasfotonin avulla: 4 vaihetta

Video: Lämpötilan ja kosteuden mittaus HDC1000: n ja hiukkasfotonin avulla: 4 vaihetta

Video: Lämpötilan ja kosteuden mittaus HDC1000: n ja hiukkasfotonin avulla: 4 vaihetta
Video: 3 в 1 ZigBee датчик температуры, влажности и освещения с LCD дисплеем 2024, Heinäkuu
Anonim
Image
Image

HDC1000 on digitaalinen kosteusanturi, jossa on integroitu lämpötila -anturi, joka tarjoaa erinomaisen mittaustarkkuuden erittäin pienellä teholla. Laite mittaa kosteutta uuden kapasitiivisen anturin perusteella. Kosteus- ja lämpötila -anturit on kalibroitu tehtaalla. Se toimii koko -40 ° C - +125 ° C lämpötila -alueella.

Tässä opetusohjelmassa on kuvattu HDC1000 -anturimoduulin liitäntä hiukkasfotoniin. Lämpötila- ja kosteusarvojen lukemiseen olemme käyttäneet hiukkasia I2c -sovittimen kanssa. Tämä I2C -sovitin tekee liitännän anturimoduuliin helppoa ja luotettavaa.

Vaihe 1: Tarvittava laitteisto:

Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto

Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:

1. HDC1000

2. Hiukkasfotoni

3. I2C -kaapeli

4. I2C -suoja hiukkasfotonille

Vaihe 2: Laitteiston kytkentä:

Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä

Laitteiston kytkentäosio selittää periaatteessa anturin ja hiukkasfotonin väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:

HDC1000 toimii yli I2C: n. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.

Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko.

Tarvitset vain neljä johtoa! Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.

Nämä yhteydet on esitetty yllä olevissa kuvissa.

Vaihe 3: Lämpötilan ja kosteuden mittauksen koodi:

Lämpötilan ja kosteuden mittauksen koodi
Lämpötilan ja kosteuden mittauksen koodi

Aloitetaan nyt hiukkaskoodilla.

Kun käytät anturimoduulia hiukkasen kanssa, sisällytämme hakemistoon application.h ja spark_wiring_i2c.h. "application.h" ja spark_wiring_i2c.h -kirjasto sisältävät toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja hiukkasen välillä.

Koko hiukkaskoodi annetaan alla käyttäjän mukavuuden vuoksi:

#sisältää

#sisältää

// HDC1000 I2C -osoite on 0x40 (64)

#define Addr 0x40

kaksinkertainen cTemp = 0,0, fTemp = 0,0, kosteus = 0,0;

int lämpötila = 0, hum = 0;

mitätön asennus ()

{

// Aseta muuttuja

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

Partikkeli.muuttuja ("kosteus", kosteus);

Particle.variable ("cTemp", cTemp);

// Alusta I2C -viestintä

Wire.begin ();

// Alusta sarjaliikenne, aseta baudinopeus = 9600

Sarja.alku (9600);

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse määritysrekisteri

Wire.write (0x02);

// Lämpötila, kosteus käytössä, resoluutio = 14 bittiä, lämmitin päällä

Wire.write (0x30);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

viive (300);

}

tyhjä silmukka ()

{

allekirjoittamaton int -data [2];

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Lähetä lämpötilan mittauskomento

Wire.write (0x00);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

viive (500);

// Pyydä 2 tavua dataa

Wire.requestFrom (Addr, 2);

// Lue 2 tavua dataa

// temp msb, temp lsb

jos (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Muunna tiedot

lämpötila = ((data [0] * 256) + data [1]);

cTemp = (lämpötila / 65536,0) * 165,0 - 40;

fTemp = cTemp * 1,8 + 32;

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Lähetä kosteusmittauskomento

Wire.write (0x01);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

viive (500);

// Pyydä 2 tavua dataa

Wire.requestFrom (Addr, 2);

// Lue 2 tavua dataa

// temp msb, temp lsb

jos (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Muunna tiedot

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

kosteus = (hum / 65536,0) * 100,0;

// Tulosta tiedot kojelautaan

Particle.publish ("Suhteellinen kosteus:", Jono (kosteus));

viive (1000);

Particle.publish ("Lämpötila Celsius:", Jono (cTemp));

viive (1000);

Particle.publish ("Lämpötila Fahrenheit:", Jono (fTemp));

viive (1000);

}

Particle.variable () -funktio luo muuttujat anturin lähdön tallentamiseksi ja Particle.publish () -toiminto näyttää tuotoksen sivuston kojelaudalla.

Anturilähtö näkyy yllä olevassa kuvassa.

Vaihe 4: Sovellukset:

Sovellukset
Sovellukset

HDC1000 voidaan käyttää lämmityksessä, ilmanvaihdossa ja ilmastoinnissa (LVI), älykkäissä termostaateissa ja huonemonitoreissa. Tämä anturi soveltuu myös tulostimiin, käsimittareihin, lääkinnällisiin laitteisiin, rahtikuljetuksiin sekä autojen tuulilasin huurtumiseen.

Suositeltava: