Indholdsfortegnelse:

Particle Photon - HDC1000 Temperatursensor Tutorial: 4 trin
Particle Photon - HDC1000 Temperatursensor Tutorial: 4 trin

Video: Particle Photon - HDC1000 Temperatursensor Tutorial: 4 trin

Video: Particle Photon - HDC1000 Temperatursensor Tutorial: 4 trin
Video: Temperature Logger with Particle Photon 2024, December
Anonim
Image
Image

HDC1000 er en digital luftfugtighedsføler med integreret temperatursensor, der giver fremragende målenøjagtighed ved meget lav effekt. Enheden måler fugtighed baseret på en ny kapacitiv sensor. Fugtigheds- og temperatursensorerne er kalibreret fra fabrikken. Det er funktionelt inden for hele -40 ° C til +125 ° C temperaturinterval. Her er dens demonstration med partikelfoton.

Trin 1: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!

1. Partikelfoton

2. HDC1000

3. I²C -kabel

4. I²C -skærm til partikelfoton

Trin 2: Tilslutning:

Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse

Tag et I2C -skjold for partikelfoton og skub det forsigtigt hen over stifterne af partikelfoton.

Tilslut derefter den ene ende af I2C -kablet til HDC1000 -sensoren og den anden ende til I2C -skærmen.

Forbindelser er vist på billedet ovenfor.

Trin 3: Kode:

Kode
Kode

Partikelkoden til HDC1000 kan downloades fra vores GitHub-depot- Dcube Store.

Her er linket til det samme:

github.com/DcubeTechVentures/HDC1000…

Databladet til HDC1000 kan findes her:

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

Vi har brugt to biblioteker til partikelkode, som er application.h og spark_wiring_i2c.h. Spark_wiring_i2c bibliotek er påkrævet for at lette I2C -kommunikationen med sensoren.

Du kan også kopiere koden herfra, den er givet som følger:

// Distribueret med en fri vilje licens.

// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.

// HDC1000

// Denne kode er designet til at fungere med HDC1000_I2CS I2C Mini -modulet, der er tilgængeligt i Dcube Store.

#omfatte

#omfatte

// HDC1000 I2C -adresse er 0x40 (64)

#define Addr 0x40

float cTemp = 0,0, fTemp = 0,0, fugtighed = 0,0;

int temp = 0, hum = 0;

ugyldig opsætning ()

{

// Indstil variabel

Partikel.variabel ("i2cdevice", "HDC1000");

Partikel.variabel ("fugtighed", fugtighed);

Particle.variable ("cTemp", cTemp);

// Initialiser I2C -kommunikation

Wire.begin ();

// Initialiser seriel kommunikation, indstil baudhastighed = 9600

Serial.begin (9600);

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Vælg konfigurationsregister

Wire.write (0x02);

// Temperatur, fugtighed aktiveret, opløsning = 14-bit, varmelegeme tændt

Wire.write (0x30);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (300);

}

hulrum ()

{

usignerede int -data [2];

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Send kommando for midlertidig måling

Wire.write (0x00);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (500);

// Anmod om 2 bytes data

Wire.requestFrom (Addr, 2);

// Læs 2 bytes data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Konverter dataene

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

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

fTemp = cTemp * 1,8 + 32;

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Send kommando for fugtmåling

Wire.write (0x01);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (500);

// Anmod om 2 bytes data

Wire.requestFrom (Addr, 2);

// Læs 2 bytes data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Konverter dataene

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

fugtighed = (brum / 65536,0) * 100,0;

// Output data til dashboard

Particle.publish ("Relativ luftfugtighed:", streng (fugtighed));

Particle.publish ("Temperatur i Celsius:", String (cTemp));

Particle.publish ("Temperatur i Fahrenheit:", String (fTemp));

forsinkelse (1000);

}

Trin 4: Ansøgninger:

HDC1000 kan bruges inden for varme, ventilation og aircondition (HVAC), smarte termostater og rummonitorer. Denne sensor finder også sin anvendelse i printere, håndholdte målere, medicinske enheder, fragtforsendelse samt Automotive Windshield Defog.

Anbefalede: