2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Digitální teplotní senzor STS21 nabízí vynikající výkon a prostorově úspornou stopu. Poskytuje kalibrované linearizované signály v digitálním formátu I2C. Výroba tohoto senzoru je založena na technologii CMOSens, která se vyznačuje vynikajícím výkonem a spolehlivostí STS21. Rozlišení STS21 lze změnit příkazem, lze detekovat vybití baterie a kontrolní součet pomáhá zlepšit spolehlivost komunikace. Zde je ukázka jeho propojení s Arduino nano.
Krok 1: Co potřebujete..
1. Arduino Nano
2. STS21
3. I²C kabel
4. I²C štít pro Arduino Nano
Krok 2: Připojení:
Vezměte štít I2C pro Arduino Nano a jemně jej zatlačte přes kolíky Nano.
Poté připojte jeden konec kabelu I2C ke snímači STS21 a druhý konec ke stínění I2C.
Připojení jsou znázorněna na obrázku výše.
Krok 3: Kód:
Kód Arduino pro STS21 lze stáhnout z našeho úložiště GitHub-Dcube Store.
Zde je odkaz na totéž:
github.com/DcubeTechVentures/STS21…
Zahrnujeme knihovnu Wire.h pro usnadnění I2c komunikace senzoru s deskou Arduino.
Odtud můžete také zkopírovat kód, který je uveden následovně:
// Distribuováno s licencí svobodné vůle.
// Používejte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.
// STS21
// Tento kód je navržen tak, aby fungoval s mini modulem STS21_I2CS I2C dostupným v Dcube Store.
#zahrnout
// Adresa STS21 I2C je 0x4A (74)
#define addr 0x4A
neplatné nastavení ()
{
// Inicializujte komunikaci I2C jako MASTER
Wire.begin ();
// Zahájení sériové komunikace, nastavení přenosové rychlosti = 9600
Serial.begin (9600);
zpoždění (300);
}
prázdná smyčka ()
{
nepodepsaná int data [2];
// Spusťte přenos I2C
Wire.beginTransmission (addr);
// Vyberte no hold master
Wire.write (0xF3);
// Ukončení přenosu I2C
Wire.endTransmission ();
zpoždění (300);
// Vyžádejte si 2 bajty dat
Wire.requestFrom (addr, 2);
// Přečíst 2 bajty dat
pokud (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Převod dat
int rawtmp = data [0] * 256 + data [1];
int hodnota = rawtmp & 0xFFFC;
dvojnásobek cTemp = -46,85 + (175,72 * (hodnota / 65536,0));
zdvojnásobit fTemp = cTemp * 1,8 + 32;
// Výstup dat na sériový monitor
Serial.print ("Teplota ve stupních Celsia:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Teplota ve stupních Fahrenheita:");
Serial.print (fTemp);
Serial.println ("F");
zpoždění (300);
}
Krok 4: Aplikace:
Digitální teplotní senzor STS21 lze použít v systémech, které vyžadují vysoce přesné sledování teploty. Může být začleněn do různých počítačových zařízení, zdravotnických zařízení a průmyslových řídicích systémů s nezbytným měřením teploty s dostatečnou přesností.