Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
STS21 skaitmeninis temperatūros jutiklis pasižymi puikiu našumu ir taupo vietą. Jis teikia kalibruotus, linijinius signalus skaitmeniniu I2C formatu. Šio jutiklio gamyba grindžiama CMOSens technologija, kuri priskiriama puikiam STS21 veikimui ir patikimumui. STS21 skiriamąją gebą galima pakeisti komandomis, galima nustatyti išsikrovusią bateriją, o kontrolinė suma padeda pagerinti ryšio patikimumą.
Šioje pamokoje buvo parodyta STS21 jutiklio modulio sąsaja su dalelių fotonu. Norėdami nuskaityti temperatūros reikšmes, naudojome fotoną su I2c adapteriu. Šis I2C adapteris leidžia lengvai ir patikimiau prisijungti prie jutiklio modulio.
1 veiksmas: reikalinga aparatūra:
Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:
1. STS21
2. Dalelių fotonas
3. I2C kabelis
4. I2C skydas dalelių fotonui
2 veiksmas: 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:
STS21 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.
3 žingsnis: Temperatūros matavimo 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
// STS21 I2C adresas yra 0x4A (74)
#define addr 0x4A
plūdė cTemp = 0.0;
negaliojanti sąranka ()
{
// Nustatyti kintamąjį
Particle.variable ("i2cdevice", "STS21");
Particle.variable ("cTemp", cTemp);
// Inicijuoti I2C komunikaciją kaip MASTER
Wire.begin ();
// Pradėkite nuoseklųjį ryšį, nustatykite duomenų perdavimo spartą = 9600
Serial.begin (9600);
vėlavimas (300);
}
tuštumos kilpa ()
{
nepasirašyti int duomenys [2];
// Pradėti I2C perdavimą
Wire.beginTransmission (addr);
// Pasirinkite nelaikymo šabloną
Wire.write (0xF3);
// Baigti I2C perdavimą
Wire.endTransmission ();
vėlavimas (500);
// Prašyti 2 baitų duomenų
Wire.requestFrom (addr, 2);
// Skaityti 2 baitus duomenų
jei (Wire.available () == 2)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
}
// Konvertuoti duomenis
int rawtmp = duomenys [0] * 256 + duomenys [1];
int vertė = rawtmp & 0xFFFC;
cTemp = -46,85 + (175,72 * (vertė / 65536,0));
plūdė 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 (1000);
}
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.
4 žingsnis: programos:
STS21 skaitmeninis temperatūros jutiklis gali būti naudojamas sistemose, kuriose reikia didelio tikslumo temperatūros stebėjimo. Jis gali būti integruotas į įvairią kompiuterinę įrangą, medicinos įrangą ir pramonines valdymo sistemas, reikalaujant tiksliai išmatuoti temperatūrą.