Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Recent am lucrat la diferite proiecte care au necesitat monitorizarea temperaturii și umidității și apoi ne-am dat seama că acești doi parametri joacă de fapt un rol esențial în a avea o estimare a eficienței de lucru a unui sistem. Atât la nivel industrial, cât și la sistemele personale, este necesar un nivel optim de temperatură pentru o performanță adecvată a sistemului.
Acesta este motivul, în acest tutorial vom explica funcționarea senzorului de umiditate și temperatură SHT25 cu fotonul particulelor.
Pasul 1: Prezentare generală SHT25:
În primul rând, să începem cu înțelegerea de bază a senzorului și a protocolului pe care funcționează.
Senzor de umiditate și temperatură SHT25 I2C ± 1,8% RH ± 0,2 ° C Mini modul I2C. Senzorul de umiditate și temperatură de înaltă precizie a devenit un standard industrial în ceea ce privește factorul de formă și inteligența, oferind semnale calibrate, liniarizate ale senzorului în format digital, I2C. Integrat cu un circuit analogic și digital specializat, acest senzor este unul dintre cele mai eficiente dispozitive pentru măsurarea temperaturii și umidității.
Protocolul de comunicare pe care funcționează senzorul este I2C. I2C reprezintă circuitul inter-integrat. Este un protocol de comunicare în care comunicația are loc prin intermediul liniilor SDA (date seriale) și SCL (serial clock). Permite conectarea mai multor dispozitive în același timp. Este unul dintre cele mai simple și mai eficiente protocol de comunicare.
Pasul 2: De ce ai nevoie..
Materialele de care avem nevoie pentru îndeplinirea obiectivului nostru includ următoarele componente hardware:
1. Senzor de umiditate și temperatură SHT25
2. Fotonul particulelor
3. Cablu I2C
4. Scutul I2C pentru fotonul particulelor
Pasul 3: Conectarea hardware-ului:
Secțiunea de conectare hardware explică practic conexiunile de cablare necesare între senzor și fotonul particulelor. Asigurarea conexiunilor corecte este necesitatea de bază în timp ce lucrați la orice sistem pentru ieșirea dorită. Deci, conexiunile necesare sunt următoarele:
SHT25 va funcționa pe I2C. Iată exemplul schemei de cablare, care demonstrează cum se conectează fiecare interfață a senzorului.
Out-of-the-box, placa este configurată pentru o interfață I2C, ca atare, vă recomandăm să utilizați această conexiune dacă sunteți altfel agnostic. Nu ai nevoie decât de patru fire!
Sunt necesare doar patru conexiuni Vcc, Gnd, SCL și pinii SDA și acestea sunt conectate cu ajutorul cablului I2C.
Aceste conexiuni sunt prezentate în imaginile de mai sus.
Pasul 4: Cod de monitorizare a temperaturii și umidității:
Să începem cu codul particulei acum.
În timp ce utilizați modulul senzor cu arduino, includem biblioteca application.h și spark_wiring_i2c.h. Biblioteca „application.h” și spark_wiring_i2c.h conține funcțiile care facilitează comunicarea i2c între senzor și particulă.
Întregul cod de particule este dat mai jos pentru confortul utilizatorului:
#include
#include
// Adresa SHT25 I2C este 0x40 (64)
#define Addr 0x40
umiditatea plutitoare = 0,0, cTemp = 0,0, fTemp = 0,0;
configurare nulă ()
{
// Setați variabila
Particle.variable ("i2cdevice", "SHT25");
Particle.variable ("umiditate", umiditate);
Particle.variable ("cTemp", cTemp);
// Inițializați comunicarea I2C ca MASTER
Wire.begin ();
// Inițializați comunicarea serială, setați rata de transmisie = 9600
Serial.begin (9600);
întârziere (300);
}
bucla nulă ()
{
date int nesemnate [2];
// Porniți comunicarea I2C
Wire.beginTransmission (Addr);
// Trimiteți comanda de măsurare a umidității, fără master HOLD
Wire.write (0xF5);
// Opriți transmisia I2C
Wire.endTransmission ();
întârziere (500);
// Solicitați 2 octeți de date
Wire.requestFrom (Addr, 2);
// Citiți 2 octeți de date
// umiditate msb, umiditate lsb
if (Wire.available () == 2)
{
date [0] = Wire.read ();
date [1] = Wire.read ();
// Conversia datelor
umiditate = ((((date [0] * 256.0) + date [1]) * 125.0) / 65536.0) - 6;
// Ieșire date în tabloul de bord
Particle.publish ("Umiditate relativă:", Șir (umiditate));
}
// Porniți transmisia I2C
Wire.beginTransmission (Addr);
// Trimiteți comanda de măsurare a temperaturii, fără master HOLD
Wire.write (0xF3);
// Opriți transmisia I2C
Wire.endTransmission ();
întârziere (500);
// Solicitați 2 octeți de date
Wire.requestFrom (Addr, 2);
// Citiți 2 octeți de date
// temp msb, temp lsb
if (Wire.available () == 2)
{
date [0] = Wire.read ();
date [1] = Wire.read ();
// Conversia datelor
cTemp = ((((date [0] * 256.0) + date [1]) * 175.72) / 65536.0) - 46.85;
fTemp = (cTemp * 1,8) + 32;
// Ieșire date în tabloul de bord
Particle.publish ("Temperatura în grade Celsius:", Șir (cTemp));
Particle.publish ("Temperatura în Fahrenheit:", String (fTemp));
}
întârziere (300);
}
Funcția Particle.variable () creează variabilele pentru a stoca ieșirea senzorului și funcția Particle.publish () afișează ieșirea pe tabloul de bord al site-ului.
Ieșirea senzorului este prezentată în imaginea de mai sus pentru referință.
Pasul 5: Aplicații:
Senzorul de temperatură și umiditate relativă SHT25 are diverse aplicații industriale precum monitorizarea temperaturii, protecția termică periferică a computerului. De asemenea, am folosit acest senzor în aplicații pentru stațiile meteo, precum și în sistemul de monitorizare a serelor.