Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Neseniai dirbome prie įvairių projektų, kuriems reikėjo stebėti temperatūrą ir drėgmę, ir tada supratome, kad šie du parametrai iš tikrųjų vaidina esminį vaidmenį įvertinant sistemos darbo efektyvumą. Tiek pramoniniame, tiek asmeninėse sistemose optimalus temperatūros lygis yra būtinas tinkamam sistemos veikimui.
Dėl šios priežasties šioje pamokoje mes paaiškinsime, kaip veikia drėgmės ir temperatūros jutiklis SHT25 su dalelių fotonu.
1 žingsnis: SHT25 apžvalga:
Pirmiausia pradėkime nuo pagrindinio supratimo apie jutiklį ir protokolą, pagal kurį jis veikia.
SHT25 I2C drėgmės ir temperatūros jutiklis ± 1,8%RH ± 0,2 ° C I2C mini modulis. Tai didelio tikslumo drėgmės ir temperatūros jutiklis, kuris tapo pramonės standartu pagal formos faktorių ir intelektą, teikiant kalibruotus, linijinius jutiklių signalus skaitmeniniu, I2C formatu. Integruotas su specializuota analogine ir skaitmenine grandine, šis jutiklis yra vienas efektyviausių prietaisų temperatūrai ir drėgmei matuoti.
Ryšio protokolas, kuriame veikia jutiklis, yra I2C. I2C reiškia integruotą grandinę. Tai ryšio protokolas, kuriame ryšys vyksta per SDA (nuoseklius duomenis) ir SCL (nuoseklaus laikrodžio) linijas. Tai leidžia prijungti kelis įrenginius vienu metu. Tai vienas iš paprasčiausių ir efektyviausių ryšio protokolų.
2 žingsnis: ko jums reikia..
Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:
1. SHT25 drėgmės ir temperatūros jutiklis
2. Dalelių fotonas
3. I2C kabelis
4. I2C skydas dalelių fotonui
3 žingsnis: prijungimas prie aparatūros:
Techninės įrangos prijungimo skyrius iš esmės paaiškina laidų jungtis, reikalingas tarp jutiklio ir dalelių fotono. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:
SHT25 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.
Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas. Viskas, ko jums reikia, yra keturi laidai!
Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.
Šie ryšiai parodyti aukščiau esančiose nuotraukose.
4 žingsnis: Temperatūros ir drėgmės stebėjimo kodas:
Pradėkime nuo dalelių kodo dabar.
Naudodami jutiklio modulį su „arduino“, įtraukiame „application.h“ir „spark_wiring_i2c.h“biblioteką. Bibliotekoje „application.h“ir spark_wiring_i2c.h yra funkcijos, palengvinančios i2c ryšį tarp jutiklio ir dalelės.
Visas dalelių kodas pateikiamas žemiau, kad būtų patogiau vartotojui:
#įtraukti
#įtraukti
// SHT25 I2C adresas yra 0x40 (64)
#define Addr 0x40
plūdės drėgmė = 0,0, cTemp = 0,0, fTemp = 0,0;
negaliojanti sąranka ()
{
// Nustatyti kintamąjį
Particle.variable ("i2cdevice", "SHT25");
Dalelė.kintamas ("drėgmė", drėgmė);
Particle.variable ("cTemp", cTemp);
// Inicijuoti I2C komunikaciją kaip MASTER
Wire.begin ();
// Inicijuoti nuoseklųjį ryšį, nustatyti duomenų perdavimo spartą = 9600
Serial.begin (9600);
vėlavimas (300);
}
tuštumos kilpa ()
{
nepasirašyti int duomenys [2];
// Pradėti I2C ryšį
Wire.beginTransmission (Addr);
// Siųsti drėgmės matavimo komandą, NO HOLD master
Wire.write (0xF5);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (500);
// Prašyti 2 baitų duomenų
Wire.requestFrom (Addr, 2);
// Skaityti 2 baitus duomenų
// drėgmė msb, drėgmė lsb
jei (Wire.available () == 2)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
// Konvertuoti duomenis
drėgmė = (((((duomenys [0] * 256,0) + duomenys [1]) * 125,0) / 65536,0) - 6;
// Išvesti duomenis į prietaisų skydelį
Particle.publish ("Santykinė drėgmė:", Styga (drėgmė));
}
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Siųsti temperatūros matavimo komandą, NO HOLD master
Wire.write (0xF3);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (500);
// Prašyti 2 baitų duomenų
Wire.requestFrom (Addr, 2);
// Skaityti 2 baitus duomenų
// temp msb, temp lsb
jei (Wire.available () == 2)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
// Konvertuoti duomenis
cTemp = ((((duomenys [0] * 256,0) + duomenys [1]) * 175,72) / 65536,0) - 46,85;
fTemp = (cTemp * 1,8) + 32;
// Išvesti duomenis į prietaisų skydelį
Particle.publish ("Temperatūra Celsijaus laipsniais:", Styga (cTemp));
Particle.publish ("Temperatūra Farenheitu:", Styga (fTemp));
}
vėlavimas (300);
}
Funkcija „Particle.variable ()“sukuria kintamuosius, kad išsaugotų jutiklio išvestį, o „Particle.publish“() rodo išvestį svetainės prietaisų skydelyje.
Jutiklio išvestis yra parodyta aukščiau esančiame paveikslėlyje.
5 žingsnis: programos:
SHT25 temperatūros ir santykinės drėgmės jutiklis gali būti naudojamas įvairiose pramonės srityse, tokiose kaip temperatūros stebėjimas, kompiuterio periferinė šiluminė apsauga. Mes taip pat panaudojome šį jutiklį orų stotyse ir šiltnamių stebėjimo sistemoje.