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. Evo njegove demonstracije povezivanja s Arduino nano.
Korak 1: Što vam treba..
1. Arduino Nano
2. STS21
3. I²C kabel
4. I²C štit za Arduino Nano
Korak 2: Povezivanje:
Uzmite I2C štit za Arduino Nano i lagano ga gurnite preko igle Nano.
Zatim spojite jedan kraj I2C kabela sa STS21 senzorom, a drugi kraj na I2C štit.
Priključci su prikazani na gornjoj slici.
Korak 3: Kôd:
Arduino kôd za STS21 može se preuzeti s našeg GitHub spremišta-Dcube Store.
Evo linka za isto:
github.com/DcubeTechVentures/STS21…
Uključujemo knjižnicu Wire.h kako bismo olakšali I2c komunikaciju senzora s Arduino pločom.
Ovdje možete i kopirati kôd, dat je na sljedeći način:
// Distribuirano s licencom slobodne volje.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// STS21
// Ovaj kôd je dizajniran za rad sa STS21_I2CS I2C mini modulom dostupnim u trgovini Dcube.
#uključi
// STS21 I2C adresa je 0x4A (74)
#define addr 0x4A
void setup ()
{
// 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 (300);
// 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;
dvostruki cTemp = -46.85 + (175,72 * (vrijednost / 65536,0));
dvostruki fTemp = cTemp * 1,8 + 32;
// Izlaženje podataka na serijski monitor
Serial.print ("Temperatura u Celzijusima:");
Serijski.ispis (cTemp);
Serial.println ("C");
Serial.print ("Temperatura u Fahrenheitu:");
Serijski.ispis (fTemp);
Serial.println ("F");
kašnjenje (300);
}
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.