Cuprins:

Photon de particule - Tutorial senzor de temperatură HDC1000: 4 pași
Photon de particule - Tutorial senzor de temperatură HDC1000: 4 pași

Video: Photon de particule - Tutorial senzor de temperatură HDC1000: 4 pași

Video: Photon de particule - Tutorial senzor de temperatură HDC1000: 4 pași
Video: SOS Hard fault photon particle 2024, Septembrie
Anonim
Image
Image

HDC1000 este un senzor digital de umiditate cu senzor de temperatură integrat care oferă o precizie excelentă de măsurare la o putere foarte mică. Dispozitivul măsoară umiditatea pe baza unui nou senzor capacitiv. Senzorii de umiditate și temperatură sunt calibrați din fabrică. Este funcțional în intervalul de temperatură între -40 ° C și + 125 ° C. Iată demonstrația sa cu fotonul de particule.

Pasul 1: De ce ai nevoie..

De ce ai nevoie..!!
De ce ai nevoie..!!

1. Fotonul particulelor

2. HDC1000

3. Cablu I²C

4. Scutul I²C pentru fotonul de particule

Pasul 2: Conexiune:

Conexiune
Conexiune
Conexiune
Conexiune
Conexiune
Conexiune
Conexiune
Conexiune

Luați un scut I2C pentru fotonul particulelor și împingeți-l ușor peste pinii fotonului particulei.

Apoi conectați capătul cablului I2C la senzorul HDC1000 și celălalt capăt la ecranul I2C.

Conexiunile sunt afișate în imaginea de mai sus.

Pasul 3: Cod:

Cod
Cod

Codul de particule pentru HDC1000 poate fi descărcat din depozitul nostru GitHub - Magazinul Dcube.

Iată linkul pentru același lucru:

github.com/DcubeTechVentures/HDC1000…

Fișa tehnică a HDC1000 poate fi găsită aici:

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

Am folosit două biblioteci pentru codul de particule, care sunt application.h și spark_wiring_i2c.h. Biblioteca Spark_wiring_i2c este necesară pentru a facilita comunicarea I2C cu senzorul.

De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:

// Distribuit cu o licență de liberă voință.

// Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.

// HDC1000

// Acest cod este conceput pentru a funcționa cu Mini-modulul HDC1000_I2CS I2C disponibil în Magazinul Dcube.

#include

#include

// Adresa HDC1000 I2C este 0x40 (64)

#define Addr 0x40

plutitor cTemp = 0,0, fTemp = 0,0, umiditate = 0,0;

int temp = 0, hum = 0;

configurare nulă ()

{

// Setați variabila

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

Particle.variable ("umiditate", umiditate);

Particle.variable ("cTemp", cTemp);

// Inițializați comunicarea I2C

Wire.begin ();

// Inițializați comunicarea în serie, setați baud rate = 9600

Serial.begin (9600);

// Porniți transmisia I2C

Wire.beginTransmission (Addr);

// Selectați registrul de configurare

Wire.write (0x02);

// Temperatură, umiditate activată, rezoluție = 14 biți, încălzitor activat

Wire.write (0x30);

// Opriți transmisia I2C

Wire.endTransmission ();

întârziere (300);

}

bucla nulă ()

{

date int nesemnate [2];

// Porniți transmisia I2C

Wire.beginTransmission (Addr);

// Trimiteți comanda de măsurare a temperaturii

Wire.write (0x00);

// Opriți transmisia I2C

Wire.endTransmission ();

întârziere (500);

// Solicitați 2 octeți de date

Wire.requestFrom (Addr, 2);

// Citiți 2 octeți de date

// temp msb, temp lsb

if (Wire.available () == 2)

{

date [0] = Wire.read ();

date [1] = Wire.read ();

}

// Conversia datelor

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

cTemp = (temp / 65536.0) * 165,0 - 40;

fTemp = cTemp * 1,8 + 32;

// Porniți transmisia I2C

Wire.beginTransmission (Addr);

// Trimiteți comanda de măsurare a umidității

Wire.write (0x01);

// Opriți transmisia I2C

Wire.endTransmission ();

întârziere (500);

// Solicitați 2 octeți de date

Wire.requestFrom (Addr, 2);

// Citiți 2 octeți de date

// temp msb, temp lsb

if (Wire.available () == 2)

{

date [0] = Wire.read ();

date [1] = Wire.read ();

}

// Conversia datelor

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

umiditate = (zumzet / 65536.0) * 100.0;

// Ieșire date în tabloul de bord

Particle.publish ("Umiditate relativă:", Șir (umiditate));

Particle.publish ("Temperatura în grade Celsius:", Șir (cTemp));

Particle.publish ("Temperatura în Fahrenheit:", String (fTemp));

întârziere (1000);

}

Pasul 4: Aplicații:

HDC1000 poate fi utilizat la încălzire, ventilație și aer condiționat (HVAC), termostate inteligente și monitoare de cameră. Acest senzor își găsește aplicația și în imprimante, contoare portabile, dispozitive medicale, transport marfă, precum și dezaburirea parbrizului auto.

Recomandat: