Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Digitalni temperaturni senzor STS21 nudi vrhunske performanse i štedi prostor. Pruža kalibrirane, linearizirane signale u digitalnom, I2C formatu. Izrada ovog senzora zasnovana je na CMOSens tehnologiji, što pripisuje vrhunske performanse i pouzdanost STS21. Rezolucija 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 sa fotonom čestica. Za očitavanje temperaturnih vrijednosti koristili smo foton s I2c adapterom. Ovaj I2C adapter čini povezivanje sa 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
Korak 2: Povezivanje hardvera:
Odeljak za priključivanje hardvera u osnovi objašnjava potrebne ožičenje između senzora i fotona čestica. Osiguravanje ispravnih veza osnovna je potreba pri radu na bilo kojem sistemu 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 biblioteku application.h i spark_wiring_i2c.h. Biblioteka "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:
#include
#include
// STS21 I2C adresa je 0x4A (74)
#define addr 0x4A
float cTemp = 0,0;
void setup ()
{
// Postavi varijablu
Particle.variable ("i2cdevice", "STS21");
Particle.variable ("cTemp", cTemp);
// Inicializirajte I2C komunikaciju kao MASTER
Wire.begin ();
// Pokretanje serijske komunikacije, postavljanje brzine prijenosa = 9600
Serial.begin (9600);
kašnjenje (300);
}
void loop ()
{
nepotpisani int podaci [2];
// Pokretanje I2C prijenosa
Wire.beginTransmission (addr);
// Odaberite master bez zadržavanja
Wire.write (0xF3);
// Završetak 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 stranice.
Izlaz senzora prikazan je na gornjoj slici za vašu referencu.
Korak 4: Aplikacije:
Digitalni temperaturni senzor STS21 može se koristiti u sistemima koji zahtijevaju nadzor temperature visoke preciznosti. Može se ugraditi u različitu računarsku opremu, medicinsku opremu i industrijske sisteme za upravljanje sa zahtjevom za mjerenje temperature sa stručnom preciznošću.