Satura rādītājs:

Temperatūras un mitruma mērīšana, izmantojot HDC1000 un daļiņu fotonu: 4 soļi
Temperatūras un mitruma mērīšana, izmantojot HDC1000 un daļiņu fotonu: 4 soļi

Video: Temperatūras un mitruma mērīšana, izmantojot HDC1000 un daļiņu fotonu: 4 soļi

Video: Temperatūras un mitruma mērīšana, izmantojot HDC1000 un daļiņu fotonu: 4 soļi
Video: Zigbee датчик освещенности, температуры и влажности с экраном на электронных чернилах Moes 2024, Novembris
Anonim
Image
Image

HDC1000 ir digitāls mitruma sensors ar integrētu temperatūras sensoru, kas nodrošina izcilu mērījumu precizitāti ar ļoti mazu jaudu. Ierīce mēra mitrumu, pamatojoties uz jaunu kapacitatīvo sensoru. Mitruma un temperatūras sensori ir kalibrēti rūpnīcā. Tas ir funkcionāls visā temperatūras diapazonā no -40 ° C līdz +125 ° C.

Šajā apmācībā ir parādīta HDC1000 sensora moduļa saskarne ar daļiņu fotonu. Lai nolasītu temperatūras un mitruma vērtības, mēs esam izmantojuši daļiņas ar I2c adapteri. Šis I2C adapteris padara savienojumu ar sensora moduli vieglu un uzticamāku.

1. darbība. Nepieciešamā aparatūra:

Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra

Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:

1. HDC1000

2. Daļiņu fotons

3. I2C kabelis

4. I2C vairogs daļiņu fotonam

2. darbība. Aparatūras savienošana:

Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums

Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un daļiņu fotonu. Pareizu savienojumu nodrošināšana ir pamatvajadzība, strādājot pie jebkuras sistēmas vēlamajam rezultātam. Tātad nepieciešamie savienojumi ir šādi:

HDC1000 darbosies, izmantojot I2C. Šeit ir elektroinstalācijas shēmas piemērs, kas parāda, kā savienot katru sensora saskarni.

Izņemot komplektu, tāfele ir konfigurēta I2C saskarnei, tāpēc mēs iesakām izmantot šo savienojumu, ja esat citādi agnostiķis.

Viss, kas Jums nepieciešams, ir četri vadi! Nepieciešami tikai četri savienojumi Vcc, Gnd, SCL un SDA, un tie ir savienoti, izmantojot I2C kabeli.

Šie savienojumi ir parādīti iepriekš redzamajos attēlos.

3. darbība. Temperatūras un mitruma mērīšanas kods:

Temperatūras un mitruma mērīšanas kods
Temperatūras un mitruma mērīšanas kods

Sāksim ar daļiņu kodu tūlīt.

Izmantojot sensoru moduli ar daļiņu, mēs iekļaujam bibliotēku application.h un spark_wiring_i2c.h. Bibliotēkā "application.h" un spark_wiring_i2c.h ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un daļiņu.

Viss daļiņu kods lietotāja ērtībai ir norādīts zemāk:

#iekļaut

#iekļaut

// HDC1000 I2C adrese ir 0x40 (64)

#define Addr 0x40

dubultā cTemp = 0,0, fTemp = 0,0, mitrums = 0,0;

int temp = 0, hum = 0;

anulēts iestatījums ()

{

// Iestatīt mainīgo

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

Daļiņa.mainīgais ("mitrums", mitrums);

Particle.variable ("cTemp", cTemp);

// Inicializēt I2C komunikāciju

Wire.begin ();

// Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600

Sērijas sākums (9600);

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Izvēlieties konfigurācijas reģistru

Wire.write (0x02);

// Temperatūra, iespējots mitrums, izšķirtspēja = 14 biti, sildītājs ieslēgts

Wire.write (0x30);

// Apturēt I2C pārraidi

Wire.endTransmission ();

kavēšanās (300);

}

tukša cilpa ()

{

neparakstīti int dati [2];

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Sūtīt temperatūras mērīšanas komandu

Wire.write (0x00);

// Apturēt I2C pārraidi

Wire.endTransmission ();

kavēšanās (500);

// Pieprasīt 2 baitus datu

Wire.requestFrom (Addr, 2);

// Lasīt 2 baitus datu

// temp msb, temp lsb

ja (Wire.available () == 2)

{

dati [0] = Wire.read ();

dati [1] = Wire.read ();

}

// Konvertēt datus

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

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

fTemp = cTemp * 1,8 + 32;

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Nosūtīt mitruma mērīšanas komandu

Wire.write (0x01);

// Apturēt I2C pārraidi

Wire.endTransmission ();

kavēšanās (500);

// Pieprasīt 2 baitus datu

Wire.requestFrom (Addr, 2);

// Lasīt 2 baitus datu

// temp msb, temp lsb

ja (Wire.available () == 2)

{

dati [0] = Wire.read ();

dati [1] = Wire.read ();

}

// Konvertēt datus

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

mitrums = (hum / 65536,0) * 100,0;

// Izvadiet datus informācijas panelī

Particle.publish ("Relatīvais mitrums:", String (mitrums));

kavēšanās (1000);

Particle.publish ("Temperatūra pēc Celsija:", String (cTemp));

kavēšanās (1000);

Particle.publish ("Temperatūra pēc Fārenheita:", String (fTemp));

kavēšanās (1000);

}

Funkcija Particle.variable () izveido mainīgos, lai saglabātu sensora izvadi, un Particle.publish () funkcija parāda izvadi vietnes informācijas panelī.

Sensora izeja ir parādīta attēlā iepriekš.

4. darbība. Lietojumprogrammas:

Lietojumprogrammas
Lietojumprogrammas

HDC1000 var izmantot apkurei, ventilācijai un gaisa kondicionēšanai (HVAC), viedajiem termostatiem un telpu monitoriem. Šis sensors tiek pielietots arī printeros, rokas skaitītājos, medicīnas ierīcēs, kravu pārvadājumos, kā arī automobiļu vējstiklu miglā.

Ieteicams: