Sisukord:

Osakeste footon - HDC1000 temperatuurianduri õpetus: 4 sammu
Osakeste footon - HDC1000 temperatuurianduri õpetus: 4 sammu
Anonim
Image
Image

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. Siin on selle demonstratsioon osakeste footoniga.

Samm: mida vajate..

Mida sa vajad..!!
Mida sa vajad..!!

1. Osakeste footon

2. HDC1000

3. I²C kaabel

4. I²C kilp osakeste footonile

2. samm: ühendus:

Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus

Võtke osakeste footoni jaoks I2C kilp ja suruge see õrnalt üle osakeste footoni tihvtide.

Seejärel ühendage I2C kaabli üks ots HDC1000 anduriga ja teine ots I2C varjestusega.

Ühendused on näidatud ülaltoodud pildil.

3. samm: kood:

Kood
Kood

HDC1000 osakeste koodi saab alla laadida meie GitHubi hoidlast Dcube Store.

Siin on link samale:

github.com/DcubeTechVentures/HDC1000…

HDC1000 andmelehe leiate siit:

www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf

Osakeste koodi jaoks oleme kasutanud kahte raamatukogu, milleks on application.h ja spark_wiring_i2c.h. I2C anduriga suhtlemise hõlbustamiseks on vajalik teek Spark_wiring_i2c.

Siit saate koodi ka kopeerida, see on järgmine:

// Levitatakse vaba tahte litsentsiga.

// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.

// HDC1000

// See kood on loodud töötama HDC1000_I2CS I2C minimooduliga, mis on saadaval Dcube Store'is.

#kaasake

#kaasake

// HDC1000 I2C aadress on 0x40 (64)

#define Addr 0x40

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

Particle.publish ("Temperatuur Celsiuse järgi:", String (cTemp));

Particle.publish ("Temperatuur Fahrenheiti järgi:", String (fTemp));

viivitus (1000);

}

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.

Soovitan: