
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59


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 arduino nano. Lai nolasītu mitruma un temperatūras vērtības, mēs esam izmantojuši arduino 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. Arduino Nano
3. I2C kabelis
4. I2C vairogs Arduino Nano
2. darbība. Aparatūras savienošana:


Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un arduino nano. 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 Arduino kodu tūlīt.
Izmantojot sensoru moduli ar Arduino, mēs iekļaujam Wire.h bibliotēku. "Wire" bibliotēkā ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un Arduino plati.
Viss Arduino kods lietotāja ērtībai ir norādīts zemāk:
#iekļaut
// HTS221 I2C adrese ir 0x5F
#define Addr 0x5F
anulēts iestatījums ()
{
// 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
pludiņa 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);
int temp = (val [3] * 256) + val [2];
pludiņš cTemp = ((((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
pludiņš fTemp = (cTemp * 1.8) + 32;
// Izvadiet datus uz seriālo monitoru
Serial.print ("Relatīvais mitrums:");
Sērijas nospiedums (mitrums);
Serial.println (" % RH");
Serial.print ("Temperatūra pēc Celsija:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Temperatūra pēc Fārenheita:");
Sērijas nospiedums (fTemp);
Serial.println ("F");
kavēšanās (500);
}
Vadu bibliotēkā Wire.write () un Wire.read () tiek izmantotas komandu rakstīšanai un sensora izejas nolasīšanai.
Serial.print () un Serial.println () tiek izmantoti, lai parādītu sensora izvadi Arduino IDE sērijas monitorā.
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 un temperatūras mērīšana, izmantojot HIH6130 un Arduino Nano: 4 soļi

Mitruma un temperatūras mērīšana, izmantojot HIH6130 un Arduino Nano: 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 Arduino Nano: 4 soļi

Temperatūras un mitruma mērīšana, izmantojot HDC1000 un Arduino Nano: 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
Mitruma un temperatūras mērīšana, izmantojot HTS221 un Raspberry Pi: 4 soļi

Mitruma un temperatūras mērīšana, izmantojot HTS221 un Raspberry Pi: HTS221 ir īpaši kompakts kapacitatīvs digitālais sensors relatīvajam mitrumam un temperatūrai. Tas ietver sensora elementu un jauktu signālu lietojumprogrammu integrētu shēmu (ASIC), lai sniegtu mērījumu informāciju, izmantojot ciparu sērijas
Mitruma un temperatūras mērīšana, izmantojot HIH6130 un Raspberry Pi: 4 soļi

Mitruma un temperatūras mērīšana, izmantojot HIH6130 un Raspberry Pi: 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
Mitruma un temperatūras mērīšana, izmantojot HTS221 un daļiņu fotonu: 4 soļi

Mitruma un temperatūras mērīšana, izmantojot HTS221 un daļiņu fotonu: HTS221 ir īpaši kompakts kapacitatīvs digitālais sensors relatīvajam mitrumam un temperatūrai. Tas ietver sensora elementu un jauktu signālu lietojumprogrammu integrētu shēmu (ASIC), lai sniegtu mērījumu informāciju, izmantojot ciparu sērijas