Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Digitalni senzor temperature STS21 nudi vrhunske performanse i štedi prostor. Pruža kalibrirane, linearizirane signale u digitalnom, I2C formatu. Izrada ovog senzora temelji se na CMOSens tehnologiji, što pripisuje vrhunske performanse i pouzdanost STS21. Razlučivost STS21 može se promijeniti naredbom, može se otkriti prazna baterija, a kontrolni zbroj pomaže poboljšati pouzdanost komunikacije.
U ovom vodiču prikazano je povezivanje senzorskog modula STS21 s fotonom čestica. Za očitavanje vrijednosti temperature koristili smo foton s adapterom I2c. Ovaj adapter I2C čini povezivanje s senzorskim modulom lakim i pouzdanijim.
Korak 1: Potreban hardver:
Materijali koji su nam potrebni za postizanje našeg cilja uključuju sljedeće hardverske komponente:
1. STS21
2. Foton čestica
3. I2C kabel
4. I2C štit za foton čestica
2. korak: Spajanje hardvera:
Odjeljak hardverskog spajanja u osnovi objašnjava potrebne ožičenje između senzora i fotona čestica. Osiguravanje ispravnih veza osnovna je potreba tijekom rada na bilo kojem sustavu za željeni izlaz. Dakle, potrebne veze su sljedeće:
STS21 će raditi preko I2C. Evo primjera dijagrama ožičenja koji pokazuje kako spojiti svako sučelje senzora.
Out-of-box, ploča je konfigurirana za I2C sučelje, pa kao takvu preporučujemo korištenje ove veze ako ste inače agnostični. Sve što trebate su četiri žice!
Potrebna su samo četiri priključka Vcc, Gnd, SCL i SDA pinovi koji se povezuju pomoću I2C kabela.
Ove veze su prikazane na gornjim slikama.
Korak 3: Kôd za mjerenje temperature:
Počnimo sada s kodom čestica.
Dok koristimo senzorski modul s Arduinom, uključujemo knjižnicu application.h i spark_wiring_i2c.h. Knjižnica "application.h" i spark_wiring_i2c.h sadrži funkcije koje olakšavaju i2c komunikaciju između senzora i čestice.
Cijeli kod čestica dat je u nastavku radi praktičnosti korisnika:
#uključi
#uključi
// STS21 I2C adresa je 0x4A (74)
#define addr 0x4A
float cTemp = 0,0;
void setup ()
{
// Postavi varijablu
Particle.variable ("i2cdevice", "STS21");
Čestica.varijabilna ("cTemp", cTemp);
// Inicializirajte I2C komunikaciju kao MASTER
Wire.begin ();
// Pokretanje serijske komunikacije, postavljena brzina prijenosa = 9600
Serial.begin (9600);
kašnjenje (300);
}
void loop ()
{
nepotpisani int podaci [2];
// Pokretanje I2C prijenosa
Wire.beginTransmission (addr);
// Odabir bez čekanja master
Wire.write (0xF3);
// Kraj I2C prijenosa
Wire.endTransmission ();
kašnjenje (500);
// Zatražite 2 bajta podataka
Wire.requestFrom (addr, 2);
// Očitavanje 2 bajta podataka
if (Wire.available () == 2)
{
podaci [0] = Wire.read ();
podaci [1] = Wire.read ();
}
// Pretvorimo podatke
int rawtmp = podaci [0] * 256 + podaci [1];
int vrijednost = rawtmp & 0xFFFC;
cTemp = -46.85 + (175,72 * (vrijednost / 65536,0));
float fTemp = cTemp * 1,8 + 32;
// Izlaženje podataka na nadzornu ploču
Particle.publish ("Temperatura u Celzijusima:", String (cTemp));
Particle.publish ("Temperatura u Fahrenheitu:", String (fTemp));
kašnjenje (1000);
}
Funkcija Particle.variable () stvara varijable za spremanje rezultata senzora, a funkcija Particle.publish () prikazuje izlaz na nadzornoj ploči web mjesta.
Izlaz senzora prikazan je na gornjoj slici za vašu referencu.
Korak 4: Aplikacije:
Digitalni temperaturni senzor STS21 može se koristiti u sustavima koji zahtijevaju nadzor temperature visoke preciznosti. Može se ugraditi u različitu računalnu opremu, medicinsku opremu i industrijske sustave upravljanja sa zahtjevom za mjerenje temperature s stručnošću.