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ą. Čia parodomas jo sąsajos su dalelių fotonu demonstravimas.
1 žingsnis: ko jums reikia..
1. Dalelių fotonas
2. STS21
3. I²C kabelis
4. I²C skydas dalelių fotonui
2 veiksmas: prijungimas:
Paimkite dalelių fotono I2C skydą ir švelniai stumkite jį ant dalelių fotono kaiščių.
Tada vieną I2C kabelio galą prijunkite prie STS21 jutiklio, o kitą - prie I2C skydo.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
STS21 dalelių kodą galima atsisiųsti iš mūsų „GitHub“saugyklos- „Dcube Store“.
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/STS21
Dalelių kodui panaudojome dvi bibliotekas - application.h ir spark_wiring_i2c.h. Norint palengvinti I2C ryšį su jutikliu, reikalinga „Spark_wiring_i2c“biblioteka.
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
// Platinama su laisvos valios licencija.
// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.
// STS21
// Šis kodas skirtas dirbti su „STC21_I2CS I2C Mini“moduliu, kurį galima įsigyti „Dcube Store“.
#į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);
}
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ą.