Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Pred kratkim smo delali na različnih projektih, ki so zahtevali spremljanje temperature in vlažnosti, nato pa smo ugotovili, da imata ta dva parametra dejansko ključno vlogo pri oceni delovne učinkovitosti sistema. Tako na industrijski ravni kot na osebnih sistemih je optimalna temperatura potrebna za ustrezno delovanje sistema.
To je razlog, da bomo v tej vadnici razložili delovanje senzorja vlažnosti in temperature SHT25 s fotonom delcev.
1. korak: Pregled SHT25:
Najprej začnimo z osnovnim razumevanjem senzorja in protokola, na katerem deluje.
Senzor vlažnosti in temperature SHT25 I2C ± 1,8%RH ± 0,2 ° C I2C mini modul. Senzor vlažnosti in temperature z visoko natančnostjo je postal industrijski standard v smislu faktorja oblike in inteligence, saj zagotavlja umerjene, linearizirane senzorske signale v digitalnem formatu I2C. Vgrajen s specializiranim analognim in digitalnim vezjem je ta senzor ena najučinkovitejših naprav za merjenje temperature in vlažnosti.
Komunikacijski protokol, na katerem deluje senzor, je I2C. I2C pomeni vmesno vezje. To je komunikacijski protokol, v katerem komunikacija poteka prek linij SDA (serijski podatki) in SCL (serijska ura). Omogoča povezovanje več naprav hkrati. Je eden najpreprostejših in najučinkovitejših komunikacijskih protokolov.
Korak: Kaj potrebujete.. !
Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:
1. Senzor vlažnosti in temperature SHT25
2. Foton delcev
3. Kabel I2C
4. I2C ščit za foton delcev
3. korak: Priključitev strojne opreme:
Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in fotonom delcev. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:
SHT25 bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.
Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!
Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.
Te povezave so prikazane na zgornjih slikah.
4. korak: Koda za spremljanje temperature in vlažnosti:
Začnimo s kodo delcev zdaj.
Med uporabo senzorskega modula z arduinom vključujemo knjižnico application.h in spark_wiring_i2c.h. Knjižnica "application.h" in spark_wiring_i2c.h vsebuje funkcije, ki olajšajo komunikacijo i2c med senzorjem in delcem.
Za udobje uporabnika je spodaj navedena celotna koda delcev:
#vključi
#vključi
// Naslov SHT25 I2C je 0x40 (64)
#define Addr 0x40
vlažnost plovca = 0,0, cTemp = 0,0, fTemp = 0,0;
void setup ()
{
// Nastavi spremenljivko
Particle.variable ("i2cdevice", "SHT25");
Delci.premenljiva ("vlažnost", vlažnost);
Delci.variable ("cTemp", cTemp);
// Inicializirajte komunikacijo I2C kot MASTER
Wire.begin ();
// Začetek serijske komunikacije, nastavljena hitrost prenosa = 9600
Serial.begin (9600);
zamuda (300);
}
void loop ()
{
podpisani int podatki [2];
// Začnite komunikacijo I2C
Wire.beginTransmission (Addr);
// Pošlji ukaz za merjenje vlažnosti, NO HOLD master
Wire.write (0xF5);
// Ustavi prenos I2C
Wire.endTransmission ();
zamuda (500);
// Zahtevajte 2 bajta podatkov
Wire.requestFrom (Addr, 2);
// Preberite 2 bajta podatkov
// vlažnost msb, vlažnost lsb
če (Wire.available () == 2)
{
podatki [0] = Wire.read ();
podatki [1] = Wire.read ();
// Pretvorimo podatke
vlažnost = ((((podatki [0] * 256,0) + podatki [1]) * 125,0) / 65536,0) - 6;
// Izhod podatkov na nadzorno ploščo
Particle.publish ("Relativna vlažnost:", niz (vlažnost));
}
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Pošlji ukaz za merjenje temperature, NO HOLD master
Wire.write (0xF3);
// Ustavi prenos I2C
Wire.endTransmission ();
zamuda (500);
// Zahtevajte 2 bajta podatkov
Wire.requestFrom (Addr, 2);
// Preberite 2 bajta podatkov
// temp msb, temp lsb
če (Wire.available () == 2)
{
podatki [0] = Wire.read ();
podatki [1] = Wire.read ();
// Pretvorimo podatke
cTemp = ((((podatki [0] * 256,0) + podatki [1]) * 175,72) / 65536,0) - 46,85;
fTemp = (cTemp * 1,8) + 32;
// Izhod podatkov na nadzorno ploščo
Particle.publish ("Temperatura v Celzijusi:", String (cTemp));
Particle.publish ("Temperatura v Fahrenheitu:", String (fTemp));
}
zamuda (300);
}
Funkcija Particle.variable () ustvari spremenljivke za shranjevanje izhoda senzorja, funkcija Particle.publish () pa prikaže izpis na nadzorni plošči spletnega mesta.
Izhod senzorja je za vašo referenco prikazan na zgornji sliki.
5. korak: Aplikacije:
Senzor temperature in relativne vlažnosti SHT25 ima različne industrijske aplikacije, kot so nadzor temperature, zunanja toplotna zaščita računalnika. Ta senzor smo uporabili tudi v aplikacijah vremenskih postaj in v sistemu za nadzor rastlinjakov.