Taula de continguts:

Mesura de la temperatura i la humitat mitjançant HDC1000 i fotó de partícules: 4 passos
Mesura de la temperatura i la humitat mitjançant HDC1000 i fotó de partícules: 4 passos

Vídeo: Mesura de la temperatura i la humitat mitjançant HDC1000 i fotó de partícules: 4 passos

Vídeo: Mesura de la temperatura i la humitat mitjançant HDC1000 i fotó de partícules: 4 passos
Vídeo: Вентиляция в хрущевке. Как сделать? Переделка хрущевки от А до Я. #31 2024, Desembre
Anonim
Image
Image

El HDC1000 és un sensor d’humitat digital amb sensor de temperatura integrat que proporciona una precisió de mesura excel·lent a una potència molt baixa. El dispositiu mesura la humitat basant-se en un nou sensor capacitiu. Els sensors d'humitat i temperatura estan calibrats de fàbrica. És funcional dins del rang de temperatura de -40 ° C a + 125 ° C.

En aquest tutorial s'ha il·lustrat la interfície del mòdul del sensor HDC1000 amb el fotó de partícules. Per llegir els valors de temperatura i humitat, hem utilitzat partícules amb un adaptador I2c, que fa que la connexió al mòdul del sensor sigui més fàcil i fiable.

Pas 1: maquinari necessari:

Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari

Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:

1. HDC1000

2. Fotó de partícules

3. Cable I2C

4. Escut I2C per a fotons de partícules

Pas 2: connexió de maquinari:

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el fotó de partícules. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:

El HDC1000 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.

Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic.

Tot el que necessiteu són quatre cables. Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.

Aquestes connexions es mostren a les imatges anteriors.

Pas 3: Codi de mesura de temperatura i humitat:

Codi de mesura de temperatura i humitat
Codi de mesura de temperatura i humitat

Comencem ara amb el codi de partícules.

Mentre s’utilitza el mòdul de sensor amb la partícula, incloem la biblioteca application.h i spark_wiring_i2c.h. La biblioteca "application.h" i spark_wiring_i2c.h conté les funcions que faciliten la comunicació i2c entre el sensor i la partícula.

A continuació es proporciona tot el codi de partícules per a la comoditat de l'usuari:

#incloure

#incloure

// L'adreça HDC1000 I2C és 0x40 (64)

#define Addr 0x40

doble cTemp = 0,0, fTemp = 0,0, humitat = 0,0;

int temp = 0, hum = 0;

configuració nul·la ()

{

// Estableix la variable

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

Particle.variable ("humitat", humitat);

Particle.variable ("cTemp", cTemp);

// Inicialitzar la comunicació I2C

Wire.begin ();

// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600

Serial.begin (9600);

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Seleccioneu el registre de configuració

Wire.write (0x02);

// Temperatura, humitat habilitada, resolució = 14 bits, escalfador encès

Wire.write (0x30);

// Atura la transmissió I2C

Wire.endTransmission ();

retard (300);

}

bucle buit ()

{

dades int sense signar [2];

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Envia l’ordre de mesura temporal

Wire.write (0x00);

// Atura la transmissió I2C

Wire.endTransmission ();

retard (500);

// Sol·liciteu 2 bytes de dades

Wire.requestFrom (Addr, 2);

// Llegiu 2 bytes de dades

// temp msb, temp lsb

if (Wire.available () == 2)

{

dades [0] = Wire.read ();

dades [1] = Wire.read ();

}

// Converteix les dades

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

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

fTemp = cTemp * 1,8 + 32;

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Envia l'ordre de mesura de la humitat

Wire.write (0x01);

// Atura la transmissió I2C

Wire.endTransmission ();

retard (500);

// Sol·liciteu 2 bytes de dades

Wire.requestFrom (Addr, 2);

// Llegiu 2 bytes de dades

// temp msb, temp lsb

if (Wire.available () == 2)

{

dades [0] = Wire.read ();

dades [1] = Wire.read ();

}

// Converteix les dades

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

humitat = (zum / 65536,0) * 100,0;

// Data de sortida al tauler

Particle.publish ("Humitat relativa:", String (humitat));

retard (1000);

Particle.publish ("Temperatura en centígrads", String (cTemp));

retard (1000);

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

retard (1000);

}

La funció Particle.variable () crea les variables per emmagatzemar la sortida del sensor i la funció Particle.publish () mostra la sortida al tauler del lloc.

La sortida del sensor es mostra a la imatge superior per a la vostra referència.

Pas 4: aplicacions:

Aplicacions
Aplicacions

HDC1000 es pot utilitzar en calefacció, ventilació i aire condicionat (HVAC), termòstats intel·ligents i monitors d'habitacions. Aquest sensor també troba la seva aplicació a les impressores, els comptadors de mà, els dispositius mèdics, l'enviament de mercaderies i el parabrisa automotriu.

Recomanat: