Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
SI7050 on digitaalinen lämpötila -anturi, joka toimii I2C -tiedonsiirtoprotokollalla ja tarjoaa korkean tarkkuuden koko käyttöjännitteellä ja lämpötila -alueella. Anturin korkea tarkkuus johtuu uudesta signaalinkäsittelystä ja analogisesta suunnittelusta. Nämä anturit on upotettu sirun muistiin, joka tallentaa kalibrointitiedot, mikä helpottaa niiden käyttöä laajalla alueella. Tässä on sen esittely Arduino Nanon kanssa.
Vaihe 1: Mitä tarvitset..
1. Arduino Nano
2. SI7050
3. I²C -kaapeli
4. I²C -kilpi Arduino Nanolle
Vaihe 2: Yhteys:
Ota I2C -suoja Arduino Nanolle ja työnnä sitä varovasti Nanon nastojen yli.
Liitä sitten I2C -kaapelin toinen pää SI7050 -anturiin ja toinen pää I2C -suojaan.
Liitännät näkyvät yllä olevassa kuvassa.
Vaihe 3: Koodi:
SI7050: n arduino-koodin voi ladata github-arkistostamme-DCUBE Storesta.
Tässä linkki samaan:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
Mukana on kirjasto Wire.h, joka helpottaa anturin I2c -tiedonsiirtoa Arduino -kortin kanssa.
Voit myös kopioida koodin täältä, se annetaan seuraavasti:
// Jaetaan vapaaehtoisella lisenssillä.
// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.
// SI7050
// Tämä koodi on suunniteltu toimimaan SI7050_I2CS I2C Mini -moduulin kanssa
#sisältää
// SI7050 I2C -osoite on 0x40 (64)
#define Addr 0x40
mitätön asennus ()
{
// Alusta I2C -viestintä MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamaton int -data [2];
// 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
float temp = ((data [0] * 256,0) + data [1]);
kelluva ctemp = ((175,72 * lämpötila) / 65536,0) - 46,85;
float ftemp = ctemp * 1,8 + 32;
// Tulostustiedot sarjamittarille
Serial.print ("Lämpötila celsiusasteina:");
Serial.print (ctemp);
Serial.println ("C");
Serial.print ("Lämpötila Fahrenheit:");
Sarjajälki (ftemp);
Serial.println ("F");
viive (500);
}
Vaihe 4: Sovellukset:
SI7050 voidaan liittää erilaisiin järjestelmiin, mukaan lukien tietokonelaitteet, kannettavat kuluttajalaitteet ja lääketieteelliset laitteet. Tätä anturia voidaan käyttää kylmäsäilytysketjuissa, omaisuuden seurannassa sekä erilaisissa teollisissa ohjausjärjestelmissä. Sillä on myös keskeinen rooli akun suojaamisessa.