Kazalo:

Nadzor temperature in vlažnosti z uporabo SHT25 in Arduino Nano: 5 korakov
Nadzor temperature in vlažnosti z uporabo SHT25 in Arduino Nano: 5 korakov

Video: Nadzor temperature in vlažnosti z uporabo SHT25 in Arduino Nano: 5 korakov

Video: Nadzor temperature in vlažnosti z uporabo SHT25 in Arduino Nano: 5 korakov
Video: STC-3028 Thermostat with Heat and Humidity Fully Explained and demonstrated 2024, November
Anonim
Image
Image

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, v tej vadnici bomo razložili delovanje senzorja vlažnosti in temperature SHT25 z Arduino Nano.

1. korak: Pregled SHT25:

Kaj rabiš..!!
Kaj rabiš..!!

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.. !

Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!

Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:

1. SHT25 Senzor vlažnosti in temperature

2. Arduino Nano

3. Kabel I2C

4. I2C ščit za Arduino nano

3. korak: Priključitev strojne opreme:

Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme

Oddelek za priključitev strojne opreme v bistvu pojasnjuje potrebne ožičenje med senzorjem in arduino nano. 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:

Koda za spremljanje temperature in vlažnosti
Koda za spremljanje temperature in vlažnosti

Začnimo zdaj s kodo Arduino.

Med uporabo senzorskega modula z Arduinom vključujemo knjižnico Wire.h. Knjižnica "Wire" vsebuje funkcije, ki olajšajo komunikacijo i2c med senzorjem in ploščo Arduino.

Celotna koda Arduino je podana spodaj za udobje uporabnika:

#vključi

// Naslov SHT25 I2C je 0x40 (64)

#define Addr 0x40

void setup ()

{

// 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];

// Zagon prenosa 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 plovca = (((podatki [0] * 256,0 + podatki [1]) * 125,0) / 65536,0) - 6;

// Izhodni podatki na serijski monitor

Serial.print ("Relativna vlažnost:");

Serijski.tisk (vlažnost);

Serial.println (" %RH");

}

// 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

float cTemp = (((podatki [0] * 256,0 + podatki [1]) * 175,72) / 65536,0) - 46,85;

float fTemp = (cTemp * 1.8) + 32;

// Izhodni podatki na serijski monitor

Serial.print ("Temperatura v Celzijusi:");

Serial.print (cTemp); Serial.println ("C");

Serial.print ("Temperatura v Fahrenheitu:");

Serial.print (fTemp);

Serial.println ("F");

}

zamuda (300);

}

Vse, kar morate storiti, je zapisati kodo v Arduinu in preveriti odčitke na serijskih vratih. Izhod je prikazan na zgornji sliki.

5. korak: Aplikacije:

Aplikacije
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.

Priporočena: