Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Olemme viime aikoina työskennelleet erilaisissa projekteissa, jotka vaativat lämpötilan ja kosteuden seurantaa, ja sitten huomasimme, että näillä kahdella parametrilla on itse asiassa keskeinen rooli arvioitaessa järjestelmän tehokkuutta. Sekä teollisuus- että henkilökohtaisissa järjestelmissä optimaalinen lämpötilataso on järjestelmän riittävän suorituskyvyn edellytys.
Tästä syystä tässä opetusohjelmassa aiomme selittää SHT25 -kosteus- ja lämpötila -anturin toiminnan hiukkasfotonilla.
Vaihe 1: SHT25 -yleiskatsaus:
Aloitetaan aluksi anturin ja sen protokollan perustiedoista.
SHT25 I2C Kosteus- ja lämpötila -anturi ± 1,8%RH ± 0,2 ° C I2C Mini -moduuli. Se on erittäin tarkka kosteus- ja lämpötila-anturi, josta on tullut alan standardi muodon ja älykkyyden suhteen ja joka tarjoaa kalibroituja, lineaarisia anturisignaaleja digitaalisessa I2C-muodossa. Integroitu erityiseen analogiseen ja digitaaliseen piiriin, tämä anturi on yksi tehokkaimmista laitteista lämpötilan ja kosteuden mittaamiseen.
Viestintäprotokolla, jolla anturi toimii, on I2C. I2C tarkoittaa integroitua piiriä. Se on viestintäprotokolla, jossa tiedonsiirto tapahtuu SDA- (sarjatiedot) ja SCL (sarjakello) -linjojen kautta. Se mahdollistaa useiden laitteiden yhdistämisen samanaikaisesti. Se on yksi yksinkertaisimmista ja tehokkaimmista viestintäprotokollista.
Vaihe 2: Mitä tarvitset..
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. SHT25 kosteus- ja lämpötila -anturi
2. Hiukkasfotoni
3. I2C -kaapeli
4. I2C -suoja hiukkasfotonille
Vaihe 3: Laitteiston kytkentä:
Laitteiston kytkentäosio selittää periaatteessa anturin ja hiukkasfotonin väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:
SHT25 toimii I2C: n yli. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.
Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko. Tarvitset vain neljä johtoa!
Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.
Nämä yhteydet on esitetty yllä olevissa kuvissa.
Vaihe 4: Lämpötilan ja kosteuden seurantakoodi:
Aloitetaan nyt hiukkaskoodista.
Kun käytät anturimoduulia arduinon kanssa, sisällytämme hakemistoon application.h ja spark_wiring_i2c.h. "application.h" ja spark_wiring_i2c.h -kirjasto sisältävät toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja hiukkasen välillä.
Koko hiukkaskoodi annetaan alla käyttäjän mukavuuden vuoksi:
#sisältää
#sisältää
// SHT25 I2C -osoite on 0x40 (64)
#define Addr 0x40
kellukosteus = 0,0, cTemp = 0,0, fTemp = 0,0;
mitätön asennus ()
{
// Aseta muuttuja
Particle.variable ("i2cdevice", "SHT25");
Partikkeli.muuttuja ("kosteus", kosteus);
Particle.variable ("cTemp", cTemp);
// Alusta I2C -viestintä MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamaton int -data [2];
// Aloita I2C -viestintä
Wire.beginTransmission (Addr);
// Lähetä kosteusmittauskomento, NO HOLD master
Wire.write (0xF5);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (500);
// Pyydä 2 tavua dataa
Wire.requestFrom (Addr, 2);
// Lue 2 tavua dataa
// kosteus msb, kosteus lsb
jos (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
// Muunna tiedot
kosteus = (((((tiedot [0] * 256,0) + tiedot [1]) * 125,0) / 65536,0) - 6;
// Tulosta tiedot kojelautaan
Particle.publish ("Suhteellinen kosteus:", Jono (kosteus));
}
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Lähetä lämpötilan mittauskomento, NO HOLD master
Wire.write (0xF3);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (500);
// Pyydä 2 tavua dataa
Wire.requestFrom (Addr, 2);
// Lue 2 tavua dataa
// temp msb, temp lsb
jos (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
// Muunna tiedot
cTemp = (((((data [0] * 256,0) + data [1]) * 175,72) / 65536,0) - 46,85;
fTemp = (cTemp * 1,8) + 32;
// Tulosta tiedot kojelautaan
Particle.publish ("Lämpötila Celsius:", Jono (cTemp));
Particle.publish ("Lämpötila Fahrenheit:", Jono (fTemp));
}
viive (300);
}
Particle.variable () -funktio luo muuttujat anturin lähdön tallentamiseksi ja Particle.publish () -toiminto näyttää tuotoksen sivuston kojelaudalla.
Anturilähtö näkyy yllä olevassa kuvassa.
Vaihe 5: Sovellukset:
SHT25 -lämpötila- ja suhteellisen kosteuden anturilla on erilaisia teollisia sovelluksia, kuten lämpötilan valvonta, tietokoneen oheislaitteiden lämpösuojaus. Olemme myös käyttäneet tätä anturia sääasemasovelluksissa sekä kasvihuoneilmaisujärjestelmässä.