2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Digitalni temperaturni senzor STS21 ponuja vrhunske zmogljivosti in prihrani prostor. Zagotavlja umerjene, linearizirane signale v digitalnem formatu I2C. Izdelava tega senzorja temelji na tehnologiji CMOSens, kar pripisuje vrhunski zmogljivosti in zanesljivosti STS21. Ločljivost STS21 je mogoče spremeniti z ukazom, zaznati je treba prazno baterijo in kontrolna vsota pomaga izboljšati zanesljivost komunikacije. Tu je njegov prikaz povezovanja s fotonom delcev.
Korak: Kaj potrebujete.. !
1. Foton delcev
2. STS21
3. Kabel I²C
4. I²C ščit za fotone delcev
2. korak: Povezava:
Za foton delcev vzemite ščit I2C in ga nežno potisnite čez zatiče fotona delcev.
Nato en konec kabla I2C priključite na senzor STS21, drugi konec pa na ščit I2C.
Povezave so prikazane na zgornji sliki.
3. korak: Koda:
Kodo delcev za STS21 lahko prenesete iz našega skladišča GitHub- Dcube Store.
Tukaj je povezava za isto:
github.com/DcubeTechVentures/STS21
Za kodo delcev smo uporabili dve knjižnici, in sicer application.h in spark_wiring_i2c.h. Za olajšanje komunikacije I2C s senzorjem je potrebna knjižnica Spark_wiring_i2c.
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
// Razdeljeno z licenco za svobodno voljo.
// Uporabljajte ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam povezanih del.
// STS21
// Ta koda je zasnovana za delo z mini modulom STS21_I2CS I2C, ki je na voljo v trgovini Dcube.
#vključi
#vključi
// Naslov STS21 I2C je 0x4A (74)
#define addr 0x4A
float cTemp = 0,0;
void setup ()
{
// Nastavi spremenljivko
Particle.variable ("i2cdevice", "STS21");
Delci.variable ("cTemp", cTemp);
// Inicializirajte komunikacijo I2C kot MASTER
Wire.begin ();
// Začni serijsko komunikacijo, nastavi hitrost prenosa = 9600
Serial.begin (9600);
zamuda (300);}
void loop ()
{
podpisani int podatki [2];
// Zagon prenosa I2C
Wire.beginTransmission (addr);
// Izberite no master master
Wire.write (0xF3);
// Konec prenosa I2C
Wire.endTransmission ();
zamuda (500);
// Zahtevajte 2 bajta podatkov
Wire.requestFrom (addr, 2);
// Preberite 2 bajta podatkov
če (Wire.available () == 2)
{
podatki [0] = Wire.read ();
podatki [1] = Wire.read ();
}
// Pretvorimo podatke
int rawtmp = podatki [0] * 256 + podatki [1];
int vrednost = rawtmp & 0xFFFC;
cTemp = -46.85 + (175,72 * (vrednost / 65536,0));
float fTemp = cTemp * 1,8 + 32;
// Izhod podatkov na nadzorno ploščo
Particle.publish ("Temperatura v Celzijusi:", String (cTemp));
Particle.publish ("Temperatura v Fahrenheitu:", String (fTemp));
zamuda (1000);
}
4. korak: Aplikacije:
Digitalni temperaturni senzor STS21 se lahko uporablja v sistemih, ki zahtevajo natančno spremljanje temperature. Lahko se vgradi v različno računalniško opremo, medicinsko opremo in industrijske krmilne sisteme z zahtevanimi meritvami temperature z natančno natančnostjo.