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. Tukaj je predstavitev njegove povezave z Arduino nano.
Korak: Kaj potrebujete.. !
1. Arduino Nano
2. STS21
3. Kabel I²C
4. I²C ščit za Arduino Nano
2. korak: Povezava:
Vzemite ščit I2C za Arduino Nano in ga nežno potisnite čez zatiče Nano.
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 Arduino za STS21 lahko prenesete iz našega skladišča GitHub-Dcube Store.
Tukaj je povezava za isto:
github.com/DcubeTechVentures/STS21…
Vključujemo knjižnico Wire.h za olajšanje komunikacije senzorja I2c s ploščo Arduino.
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
// Naslov STS21 I2C je 0x4A (74)
#define addr 0x4A
void setup ()
{
// 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 (300);
// 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;
dvojni cTemp = -46.85 + (175,72 * (vrednost / 65536,0));
dvojni fTemp = cTemp * 1,8 + 32;
// Izhodni podatki na serijski monitor
Serial.print ("Temperatura v Celzijusi:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura v Fahrenheitu:");
Serial.print (fTemp);
Serial.println ("F");
zamuda (300);
}
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.