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 Arduino nano.
Pasul 1: De ce ai nevoie..
1. Arduino Nano
2. STS21
3. Cablu I²C
4. Scut I²C pentru Arduino Nano
Pasul 2: Conexiune:
Luați un scut I2C pentru Arduino Nano și împingeți-l ușor peste pinii Nano.
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 Arduino pentru STS21 poate fi descărcat din depozitul nostru GitHub-Magazinul Dcube.
Iată linkul pentru același lucru:
github.com/DcubeTechVentures/STS21…
Includem biblioteca Wire.h pentru a facilita comunicarea I2c a senzorului cu placa Arduino.
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
// Adresa STS21 I2C este 0x4A (74)
#define addr 0x4A
configurare nulă ()
{
// 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 (300);
// 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 dublu = -46,85 + (175,72 * (valoare / 65536,0));
fTemp dublu = cTemp * 1,8 + 32;
// Ieșire date pe monitorul serial
Serial.print ("Temperatura în grade Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura în Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
întârziere (300);
}
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ă.