Indholdsfortegnelse:

Måling af temperatur og fugtighed ved hjælp af HDC1000 og partikelfoton: 4 trin
Måling af temperatur og fugtighed ved hjælp af HDC1000 og partikelfoton: 4 trin

Video: Måling af temperatur og fugtighed ved hjælp af HDC1000 og partikelfoton: 4 trin

Video: Måling af temperatur og fugtighed ved hjælp af HDC1000 og partikelfoton: 4 trin
Video: TrueGuard lys, temperatur og luftfugtigheds-måler 2024, Juli
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.

I denne vejledning er grænsefladen mellem HDC1000 -sensormodulet og partikelfoton blevet illustreret. For at aflæse temperatur- og fugtighedsværdier har vi brugt partikler med en I2c -adapter. Denne I2C -adapter gør forbindelsen til sensormodulet let og mere pålidelig.

Trin 1: Påkrævet hardware:

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. HDC1000

2. Partikelfoton

3. I2C -kabel

4. I2C -skærm til partikelfoton

Trin 2: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardwaretilslutningssektionen forklarer dybest set de ledningsforbindelser, der kræves mellem sensoren og partikelfonen. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

HDC1000 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker.

Alt du behøver er fire ledninger! Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 3: Kode til måling af temperatur og fugtighed:

Kode til måling af temperatur og fugtighed
Kode til måling af temperatur og fugtighed

Lad os starte med partikelkoden nu.

Mens vi bruger sensormodulet med partiklen, inkluderer vi application.h og spark_wiring_i2c.h bibliotek. "application.h" og spark_wiring_i2c.h biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og partiklen.

Hele partikelkoden er angivet nedenfor for brugerens bekvemmelighed:

#omfatte

#omfatte

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

#define Addr 0x40

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

forsinkelse (1000);

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

forsinkelse (1000);

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

forsinkelse (1000);

}

Funktionen Particle.variable () opretter variablerne til lagring af sensorens output og Particle.publish () -funktionen viser outputtet på webstedets dashboard.

Sensorudgangen er vist på billedet ovenfor til din reference.

Trin 4: Ansøgninger:

Ansøgninger
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: