INHOUDSOPGAWE:

Particle Photon - HDC1000 Temperatuursensor Tutoriaal: 4 stappe
Particle Photon - HDC1000 Temperatuursensor Tutoriaal: 4 stappe

Video: Particle Photon - HDC1000 Temperatuursensor Tutoriaal: 4 stappe

Video: Particle Photon - HDC1000 Temperatuursensor Tutoriaal: 4 stappe
Video: Particle Photon HCPA-5V-U3 I2C Humidity & Temperature Sensor Tutorial 2024, November
Anonim
Image
Image

Die HDC1000 is 'n digitale humiditeitsensor met 'n geïntegreerde temperatuursensor wat uitstekende metingsnauwkeurigheid bied by baie lae krag. Die toestel meet humiditeit op grond van 'n nuwe kapasitiewe sensor. Die humiditeits- en temperatuursensors is in die fabriek gekalibreer. Dit is funksioneel binne die volle temperatuur van -40 ° C tot +125 ° C. Hier is die demonstrasie daarvan met deeltjie -foton.

Stap 1: wat u nodig het..

Wat jy nodig het..!!
Wat jy nodig het..!!

1. Deeltjie Photon

2. HDC1000

3. I²C -kabel

4. I²C -skild vir deeltjiesfoton

Stap 2: Verbinding:

Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding

Neem 'n I2C -skild vir deeltjiefoton en druk dit liggies oor die penne van deeltjiefoton.

Koppel dan die een kant van die I2C -kabel aan die HDC1000 -sensor en die ander kant aan die I2C -skild.

Verbindings word op die foto hierbo getoon.

Stap 3: Kode:

Kode
Kode

Die deeltjiekode vir HDC1000 kan afgelaai word in ons GitHub-bewaarplek- Dcube Store.

Hier is die skakel vir dieselfde:

github.com/DcubeTechVentures/HDC1000…

Die datablad van HDC1000 kan hier gevind word:

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

Ons het twee biblioteke vir deeltjiekode gebruik, wat application.h en spark_wiring_i2c.h is. Spark_wiring_i2c -biblioteek is nodig om die I2C -kommunikasie met die sensor te vergemaklik.

U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:

// Versprei met 'n vrywillige lisensie.

// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.

// HDC1000

// Hierdie kode is ontwerp om te werk met die HDC1000_I2CS I2C Mini Module wat beskikbaar is in Dcube Store.

#insluit

#insluit

// HDC1000 I2C adres is 0x40 (64)

#definieer Addr 0x40

float cTemp = 0.0, fTemp = 0.0, humiditeit = 0.0;

int temp = 0, hum = 0;

leemte opstelling ()

{

// Stel veranderlike

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

Deeltjie.veranderlik ("humiditeit", humiditeit);

Particle.variable ("cTemp", cTemp);

// Initialiseer I2C -kommunikasie

Wire.begin ();

// Initialiseer seriële kommunikasie, stel baud rate = 9600 in

Serial.begin (9600);

// Begin I2C -oordrag

Wire.beginTransmission (Addr);

// Kies konfigurasie register

Wire.write (0x02);

// Temperatuur, humiditeit aangeskakel, resolusie = 14-bits, verwarmer aan

Draad.skryf (0x30);

// Stop I2C -oordrag

Wire.endTransmission ();

vertraging (300);

}

leemte lus ()

{

ongetekende int data [2];

// Begin I2C -oordrag

Wire.beginTransmission (Addr);

// Stuur opdrag vir temp meting

Wire.write (0x00);

// Stop I2C -oordrag

Wire.endTransmission ();

vertraging (500);

// Versoek 2 grepe data

Wire.requestFrom (Addr, 2);

// Lees 2 grepe data

// temp msb, temp lsb

as (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Skakel die data om

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

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

// Begin I2C -oordrag

Wire.beginTransmission (Addr);

// Stuur opdrag vir humiditeitsmeting

Wire.write (0x01);

// Stop I2C -oordrag

Wire.endTransmission ();

vertraging (500);

// Versoek 2 grepe data

Wire.requestFrom (Addr, 2);

// Lees 2 grepe data

// temp msb, temp lsb

as (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Skakel die data om

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

humiditeit = (hum / 65536.0) * 100.0;

// Uitset data na paneelbord

Particle.publish ("Relatiewe humiditeit:", string (humiditeit));

Particle.publish ("Temperatuur in Celsius:", String (cTemp));

Particle.publish ("Temperatuur in Fahrenheit:", String (fTemp));

vertraging (1000);

}

Stap 4: Aansoeke:

HDC1000 kan gebruik word vir verwarming, ventilasie en lugversorging (HVAC), slim termostate en kamermonitors. Hierdie sensor vind ook sy toepassing in drukkers, handmeters, mediese toestelle, vragvervoer sowel as motorwaaiers.

Aanbeveel: