Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
STS21 digitale temperatuursensor biedt superieure prestaties en een ruimtebesparende voetafdruk. Het levert gekalibreerde, gelineariseerde signalen in digitaal, I2C-formaat. De fabricage van deze sensor is gebaseerd op CMOSens-technologie, wat bijdraagt aan de superieure prestaties en betrouwbaarheid van STS21. De resolutie van STS21 kan per commando worden gewijzigd, een bijna lege batterij kan worden gedetecteerd en een controlesom helpt de betrouwbaarheid van de communicatie te verbeteren. Hier is de demonstratie van de koppeling met Particle Photon.
Stap 1: Wat je nodig hebt.
1. Deeltjesfoton
2. STS21
3. I²C-kabel
4. I²C-schild voor deeltjesfoton
Stap 2: Aansluiting:
Neem een I2C-schild voor deeltjesfoton en duw het voorzichtig over de pinnen van deeltjesfoton.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de STS21-sensor en het andere uiteinde op de I2C-afscherming.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De deeltjescode voor STS21 kan worden gedownload van onze GitHub-repository - Dcube Store.
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/STS21
We hebben twee bibliotheken gebruikt voor deeltjescode, namelijk application.h en spark_wiring_i2c.h. Spark_wiring_i2c-bibliotheek is vereist om de I2C-communicatie met de sensor te vergemakkelijken.
U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
// Gedistribueerd met een vrije wilslicentie.
// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
// STS21
// Deze code is ontworpen om te werken met de STS21_I2CS I2C Mini Module die beschikbaar is in Dcube Store.
#erbij betrekken
#erbij betrekken
// STS21 I2C-adres is 0x4A(74)
#definieer adres 0x4A
zweven cTemp = 0,0;
ongeldige setup()
{
// Variabele instellen
Particle.variable ("i2cdevice", "STS21");
Particle.variable("cTemp", cTemp);
// Initialiseer I2C-communicatie als MASTER
Draad.begin();
// Start seriële communicatie, stel baudrate = 9600. in
Serieel.begin(9600);
vertraging(300);}
lege lus()
{
niet-ondertekende int-gegevens[2];
// Start I2C-verzending
Wire.beginTransmission (addr);
// Selecteer geen wachtmeester
Draad.schrijven (0xF3);
// Einde I2C-transmissie
Wire.endTransmission();
vertraging (500);
// Vraag 2 bytes aan gegevens aan
Wire.requestFrom(addr, 2);
// Lees 2 bytes aan gegevens
if (Draad.beschikbaar() == 2)
{
data[0] = Draad.lezen();
data[1] = Draad.lezen();
}
// Converteer de gegevens
int rawtmp = data[0] * 256 + data[1];
int-waarde = rawtmp & 0xFFFC;
cTemp = -46,85 + (175,72 * (waarde / 65536.0));
float fTemp = cTemp * 1.8 + 32;
// Gegevens uitvoeren naar dashboard
Particle.publish("Temperatuur in Celsius: ", String(cTemp));
Particle.publish("Temperatuur in Fahrenheit: ", String(fTemp));
vertraging (1000);
}
Stap 4: Toepassingen:
De STS21 digitale temperatuursensor kan worden gebruikt in systemen die een zeer nauwkeurige temperatuurbewaking vereisen. Het kan worden opgenomen in verschillende computerapparatuur, medische apparatuur en industriële besturingssystemen met de vereiste temperatuurmeting met bekwame nauwkeurigheid.