2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
STS21 digitaalne temperatuuriandur pakub suurepärast jõudlust ja ruumi säästvat jalajälge. See pakub kalibreeritud, lineariseeritud signaale digitaalses I2C -vormingus. Selle anduri valmistamine põhineb CMOSens tehnoloogial, mis omistab STS21 suurepärase jõudluse ja töökindluse. STS21 eraldusvõimet saab käsuga muuta, tühja aku saab tuvastada ja kontrollsumma aitab parandada side usaldusväärsust. Siin on selle demonstratsioon selle osakeste footoniga liidestamise kohta.
Samm: mida vajate..
1. Osakeste footon
2. STS21
3. I²C kaabel
4. I²C kilp osakeste footonile
2. samm: ühendus:
Võtke osakeste footoni jaoks I2C kilp ja suruge see õrnalt üle osakeste footoni tihvtide.
Seejärel ühendage I2C kaabli üks ots STS21 anduriga ja teine ots I2C varjestusega.
Ühendused on näidatud ülaltoodud pildil.
3. samm: kood:
STS21 osakeste koodi saab alla laadida meie GitHubi hoidlast Dcube Store.
Siin on link samale:
github.com/DcubeTechVentures/STS21
Osakeste koodi jaoks oleme kasutanud kahte raamatukogu, milleks on application.h ja spark_wiring_i2c.h. I2C anduriga suhtlemise hõlbustamiseks on vajalik teek Spark_wiring_i2c.
Siit saate koodi ka kopeerida, see on järgmine:
// Levitatakse vaba tahte litsentsiga.
// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
// STS21
// See kood on loodud töötama Dcube Store'is saadaval oleva STS21_I2CS I2C minimooduliga.
#kaasake
#kaasake
// STS21 I2C aadress on 0x4A (74)
#define addr 0x4A
ujuk cTemp = 0,0;
tühine seadistus ()
{
// Määra muutuja
Particle.variable ("i2cdevice", "STS21");
Particle.variable ("cTemp", cTemp);
// Initsialiseeri I2C side kui MASTER
Wire.begin ();
// Käivitage jadaühendus, määrake edastuskiirus = 9600
Seriaalne algus (9600);
viivitus (300);}
tühine tsükkel ()
{
allkirjastamata int andmed [2];
// Käivitage I2C edastamine
Wire.beginTransmission (addr);
// Valige hoidmismeister
Wire.write (0xF3);
// I2C edastamise lõpetamine
Wire.endTransmission ();
viivitus (500);
// Taotle 2 baiti andmeid
Wire.requestFrom (addr, 2);
// Lugege 2 baiti andmeid
kui (Wire.available () == 2)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
}
// Teisendage andmed
int rawtmp = andmed [0] * 256 + andmed [1];
int väärtus = rawtmp & 0xFFFC;
cTemp = -46,85 + (175,72 * (väärtus / 65536,0));
ujuk fTemp = cTemp * 1,8 + 32;
// Andmete väljastamine armatuurlauale
Particle.publish ("Temperatuur Celsiuse järgi:", String (cTemp));
Particle.publish ("Temperatuur Fahrenheiti järgi:", String (fTemp));
viivitus (1000);
}
4. samm: rakendused:
Digitaalset temperatuuriandurit STS21 saab kasutada süsteemides, mis nõuavad suure täpsusega temperatuuri jälgimist. Seda saab integreerida erinevatesse arvutiseadmetesse, meditsiiniseadmetesse ja tööstuslikele juhtimissüsteemidele, mis nõuavad temperatuuri täpset mõõtmist.