2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Senzorul digital de temperatură STS21 oferă performanțe superioare și o amprentă de economisire a spațiului. Oferă semnale calibrate, liniarizate în format digital, I2C. Fabricarea acestui senzor se bazează pe tehnologia CMOSens, care se atribuie performanței și fiabilității superioare a STS21. Rezoluția STS21 poate fi modificată prin comandă, bateria descărcată poate fi detectată și o sumă de control ajută la îmbunătățirea fiabilității comunicării. Iată demonstrația sa de interfață cu fotonul de particule.
Pasul 1: De ce ai nevoie..
1. Fotonul particulelor
2. STS21
3. Cablu I²C
4. Scutul I²C pentru fotonul de particule
Pasul 2: Conexiune:
Luați un scut I2C pentru fotonul particulelor și împingeți-l ușor peste pinii fotonului particulei.
Apoi conectați capătul unui cablu I2C la senzorul STS21 și celălalt capăt la ecranul I2C.
Conexiunile sunt afișate în imaginea de mai sus.
Pasul 3: Cod:
Codul de particule pentru STS21 poate fi descărcat din depozitul nostru GitHub - Magazinul Dcube.
Iată linkul pentru același lucru:
github.com/DcubeTechVentures/STS21
Am folosit două biblioteci pentru codul de particule, care sunt application.h și spark_wiring_i2c.h. Biblioteca Spark_wiring_i2c este necesară pentru a facilita comunicarea I2C cu senzorul.
De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:
// Distribuit cu o licență de liberă voință.
// Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.
// STS21
// Acest cod este conceput pentru a funcționa cu Mini-modulul STS21_I2CS I2C disponibil în Magazinul Dcube.
#include
#include
// Adresa STS21 I2C este 0x4A (74)
#define addr 0x4A
float cTemp = 0,0;
configurare nulă ()
{
// Setați variabila
Particle.variable ("i2cdevice", "STS21");
Particle.variable ("cTemp", cTemp);
// Inițializați comunicarea I2C ca MASTER
Wire.begin ();
// Începeți comunicarea în serie, setați baud rate = 9600
Serial.begin (9600);
întârziere (300);}
bucla nulă ()
{
date int nesemnate [2];
// Porniți transmisia I2C
Wire.beginTransmission (addr);
// Nu selectați niciun master de așteptare
Wire.write (0xF3);
// Termină 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
if (Wire.available () == 2)
{
date [0] = Wire.read ();
date [1] = Wire.read ();
}
// Conversia datelor
int rawtmp = data [0] * 256 + data [1];
valoare int = rawtmp & 0xFFFC;
cTemp = -46,85 + (175,72 * (valoare / 65536,0));
float 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 (1000);
}
Pasul 4: Aplicații:
Senzorul digital de temperatură STS21 poate fi utilizat în sisteme care necesită o monitorizare a temperaturii de înaltă precizie. Poate fi încorporat în diverse echipamente informatice, echipamente medicale și sisteme de control industrial, cu condiția de măsurare a temperaturii cu precizie competentă.