Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Der digitale Temperatursensor STS21 bietet überlegene Leistung und eine platzsparende Stellfläche. Es liefert kalibrierte, linearisierte Signale im digitalen I2C-Format. Die Herstellung dieses Sensors basiert auf der CMOSens-Technologie, die auf die überlegene Leistung und Zuverlässigkeit von STS21 zurückzuführen ist. Die Auflösung von STS21 kann per Befehl geändert werden, eine schwache Batterie kann erkannt werden und eine Prüfsumme hilft, die Kommunikationszuverlässigkeit zu verbessern. Hier ist die Demonstration der Schnittstelle mit Arduino Nano.
Schritt 1: Was Sie brauchen.
1. Arduino Nano
2. STS21
3. I²C-Kabel
4. I²C-Schild für Arduino Nano
Schritt 2: Verbindung:
Nehmen Sie ein I2C-Shield für Arduino Nano und schieben Sie es vorsichtig über die Pins von Nano.
Verbinden Sie dann das eine Ende des I2C-Kabels mit dem STS21-Sensor und das andere Ende mit der I2C-Abschirmung.
Die Anschlüsse sind im Bild oben dargestellt.
Schritt 3: Code:
Der Arduino-Code für STS21 kann von unserem GitHub-Repository-Dcube Store heruntergeladen werden.
Hier der Link dazu:
github.com/DcubeTechVentures/STS21…
Wir binden die Bibliothek Wire.h ein, um die I2c-Kommunikation des Sensors mit dem Arduino-Board zu erleichtern.
Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:
// Wird mit einer frei wählbaren Lizenz vertrieben.
// Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.
// STS21
// Dieser Code wurde entwickelt, um mit dem STS21_I2CS I2C Mini-Modul zu arbeiten, das im Dcube Store erhältlich ist.
#enthalten
// STS21 I2C-Adresse ist 0x4A(74)
#define-Adresse 0x4A
Void-Setup ()
{
// I2C-Kommunikation als MASTER initialisieren
Wire.begin();
// Serielle Kommunikation starten, Baudrate = 9600. einstellen
Serial.begin (9600);
Verzögerung (300);
}
Leere Schleife ()
{
unsignierte int-Daten[2];
// I2C-Übertragung starten
Wire.beginTransmission(adr);
// Kein Hold-Master auswählen
Wire.write(0xF3);
// I2C-Übertragung beenden
Wire.endTransmission();
Verzögerung (300);
// 2 Byte Daten anfordern
Wire.requestFrom(adr, 2);
// 2 Byte Daten lesen
if (Draht.verfügbar() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Konvertieren Sie die Daten
int rawtmp = data[0] * 256 + data[1];
int-Wert = rawtmp & 0xFFFC;
doppelter cTemp = -46,85 + (175,72 * (Wert / 65536,0));
doppeltes fTemp = cTemp * 1,8 + 32;
// Daten an seriellen Monitor ausgeben
Serial.print ("Temperatur in Celsius: ");
Serial.print (cTemp);
Serial.println("C");
Serial.print ("Temperatur in Fahrenheit: ");
Serial.print (fTemp);
Serial.println("F");
Verzögerung (300);
}
Schritt 4: Anwendungen:
Der digitale Temperatursensor STS21 kann in Systemen eingesetzt werden, die eine hochgenaue Temperaturüberwachung erfordern. Es kann in verschiedene Computerausrüstungen, medizinische Geräte und industrielle Steuerungssysteme integriert werden, wobei eine Temperaturmessung mit hoher Genauigkeit erforderlich ist.