Satura rādītājs:
- 1. darbība. Nepieciešamā aparatūra:
- 2. darbība. Aparatūras savienošana:
- 3. darbība. Mitruma un temperatūras mērīšanas kods:
- 4. darbība. Lietojumprogrammas:
Video: Mitruma un temperatūras mērīšana, izmantojot HTS221 un daļiņu fotonu: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
HTS221 ir īpaši kompakts kapacitatīvs digitālais sensors relatīvajam mitrumam un temperatūrai. Tas ietver sensoru elementu un jauktu signālu lietojumprogrammu integrētu shēmu (ASIC), lai sniegtu mērījumu informāciju, izmantojot digitālās sērijas saskarnes. Integrēts ar tik daudzām funkcijām, tas ir viens no vispiemērotākajiem sensoriem kritiskiem mitruma un temperatūras mērījumiem.
Šajā apmācībā ir parādīta HTS221 sensora moduļa saskarne ar daļiņu fotonu. Lai nolasītu mitruma un temperatūras 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:
Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:
1. HTS221
2. Daļiņu fotons
3. I2C kabelis
4. I2C vairogs daļiņu fotonam
2. darbība. Aparatūras savienošana:
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:
HTS221 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. Mitruma un temperatūras 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
// HTS221 I2C adrese ir 0x5F
#define Addr 0x5F
divkāršs mitrums = 0,0;
dubultā cTemp = 0,0;
dubultā fTemp = 0,0;
int temp = 0;
anulēts iestatījums ()
{
// Iestatīt mainīgo
Particle.variable ("i2cdevice", "HTS221");
Particle.variable ("Mitrums", mitrums);
Particle.variable ("cTemp", cTemp);
// Inicializēt I2C komunikāciju kā MASTER
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 vidējo konfigurācijas reģistru
Wire.write (0x10);
// Vidējie temperatūras paraugi = 256, vidējie mitruma paraugi = 512
Wire.write (0x1B);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet vadības reģistru1
Wire.write (0x20);
// Ieslēgšana, nepārtraukta atjaunināšana, datu izvades ātrums = 1 Hz
Wire.write (0x85);
// Apturēt I2C pārraidi
Wire.endTransmission ();
kavēšanās (300);
}
tukša cilpa ()
{
neparakstīti int dati [2];
neparakstīts int val [4];
neparakstīts int H0, H1, H2, H3, T0, T1, T2, T3, neapstrādāts;
// Mitruma zvana vērtības
par (int i = 0; i <2; i ++)
{
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write ((48 + i));
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
dati = Wire.read ();
}
}
// Pārvērst mitruma datus
H0 = dati [0] / 2;
H1 = dati [1] / 2;
par (int i = 0; i <2; i ++)
{
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write ((54 + i));
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
dati = Wire.read ();
}
}
// Pārvērst mitruma datus
H2 = (dati [1] * 256,0) + dati [0];
par (int i = 0; i <2; i ++)
{
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write ((58 + i));
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
dati = Wire.read ();
}
}
// Pārvērst mitruma datus
H3 = (dati [1] * 256,0) + dati [0];
// Temperatūras zvana vērtības
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write (0x32);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
T0 = Wire.read ();
}
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write (0x33);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
T1 = Wire.read ();
}
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write (0x35);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
raw = Wire.read ();
}
neapstrādāts = neapstrādāts & 0x0F;
// Konvertējiet temperatūras zvana vērtības uz 10 bitiem
T0 = ((neapstrādāts & 0x03) * 256) + T0;
T1 = ((neapstrādāta & 0x0C) * 64) + T1;
par (int i = 0; i <2; i ++)
{
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write ((60 + i));
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
dati = Wire.read ();
}
}
// Konvertēt datus
T2 = (dati [1] * 256,0) + dati [0];
par (int i = 0; i <2; i ++)
{
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write ((62 + i));
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 1 baitu datu
ja (Wire.available () == 1)
{
dati = Wire.read ();
}
}
// Konvertēt datus
T3 = (dati [1] * 256,0) + dati [0];
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Sūtīt datu reģistru
Wire.write (0x28 | 0x80);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 4 baitus datu
Wire.requestFrom (Addr, 4);
// Lasīt 4 baitus datu
// mitrums msb, mitrums lsb, temp msb, temp lsb
ja (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// Konvertēt datus
mitrums = (val [1] * 256,0) + val [0];
mitrums = ((1,0 * H1) - (1,0 * H0)) * (1,0 * mitrums - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
temp = (val [3] * 256) + val [2]; cTemp = ((((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
fTemp = (cTemp * 1,8) + 32;
// 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:
HTS221 var izmantot dažādās patēriņa precēs, piemēram, gaisa mitrinātājos un ledusskapjos uc
Ieteicams:
Mitruma mērīšana, izmantojot HYT939 un daļiņu fotonu: 4 soļi
Mitruma mērīšana, izmantojot HYT939 un daļiņu fotonu: HYT939 ir digitāls mitruma sensors, kas darbojas saskaņā ar I2C sakaru protokolu. Mitrums ir galvenais parametrs, kad runa ir par medicīnas sistēmām un laboratorijām, tāpēc, lai sasniegtu šos mērķus, mēs centāmies sasaistīt HYT939 ar aveņu pi. Es
Temperatūras mērīšana, izmantojot MCP9803 un daļiņu fotonu: 4 soļi
Temperatūras mērīšana, izmantojot MCP9803 un daļiņu fotonu: MCP9803 ir 2 vadu augstas precizitātes temperatūras sensors. Tie ir iemiesoti lietotāja programmējamos reģistros, kas atvieglo temperatūras noteikšanas lietojumprogrammas. Šis sensors ir piemērots ļoti sarežģītai daudzzonu temperatūras uzraudzības sistēmai
Temperatūras mērīšana, izmantojot STS21 un daļiņu fotonu: 4 soļi
Temperatūras mērīšana, izmantojot STS21 un daļiņu fotonu: STS21 digitālais temperatūras sensors piedāvā izcilu veiktspēju un vietu taupošu nospiedumu. Tas nodrošina kalibrētus, linearizētus signālus digitālā, I2C formātā. Šī sensora izgatavošana ir balstīta uz CMOSens tehnoloģiju, kas izcilākajam piešķir
Mitruma un temperatūras mērīšana, izmantojot HIH6130 un daļiņu fotonu: 4 soļi
Mitruma un temperatūras mērīšana, izmantojot HIH6130 un daļiņu fotonu: HIH6130 ir mitruma un temperatūras sensors ar digitālo izeju. Šie sensori nodrošina precizitātes līmeni ± 4% RH. Ar nozarē vadošo ilgtermiņa stabilitāti, patiesu temperatūras kompensētu digitālo I2C, nozares vadošo uzticamību, energoefektivitāti
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: 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