Sisukord:
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.
Selles õpetuses on illustreeritud STS21 andurimooduli liidestumist osakeste footoniga. Temperatuuri väärtuste lugemiseks oleme kasutanud footoni koos I2c adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.
Samm: vajalik riistvara:
Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:
1. STS21
2. Osakeste footon
3. I2C kaabel
4. I2C kilp osakeste footonile
2. samm: riistvara ühendamine:
Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja osakeste footoni vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:
STS21 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.
Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik. Kõik, mida vajate, on neli juhtmest!
Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.
Neid seoseid on näidatud ülaltoodud piltidel.
3. samm: temperatuuri mõõtmise kood:
Alustame nüüd osakeste koodist.
Kui kasutame andurimoodulit koos Arduinoga, lisame teeki application.h ja spark_wiring_i2c.h. Raamatukogu "application.h" ja spark_wiring_i2c.h sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja osakese vahel.
Kogu osakeste kood on kasutaja mugavuse huvides toodud allpool:
#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);
}
Funktsioon Particle.variable () loob muutujad anduri väljundi salvestamiseks ja Particle.publish () kuvab väljundi saidi armatuurlaual.
Anduri väljund on näidatud ülaltoodud pildil.
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.