Kazalo:
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.
V tej vadnici je prikazano povezovanje senzorskega modula STS21 s fotonom delcev. Za odčitavanje temperaturnih vrednosti smo uporabili foton z adapterjem I2c, ki omogoča enostavno in zanesljivo povezavo s senzorskim modulom.
1. korak: Potrebna strojna oprema:
Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:
1. STS21
2. Foton delcev
3. Kabel I2C
4. I2C ščit za foton delcev
2. korak: Priključitev strojne opreme:
Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in fotonom delcev. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:
STS21 bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.
Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!
Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.
Te povezave so prikazane na zgornjih slikah.
3. korak: Koda za merjenje temperature:
Začnimo s kodo delcev.
Med uporabo senzorskega modula z Arduinom vključujemo knjižnico application.h in spark_wiring_i2c.h. Knjižnica "application.h" in spark_wiring_i2c.h vsebuje funkcije, ki olajšajo komunikacijo i2c med senzorjem in delcem.
Za udobje uporabnika je spodaj navedena celotna koda delcev:
#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);
}
Funkcija Particle.variable () ustvari spremenljivke za shranjevanje izhoda senzorja, funkcija Particle.publish () pa prikaže izpis na nadzorni plošči spletnega mesta.
Izhod senzorja je za vašo referenco prikazan na zgornji sliki.
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.