Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Wir haben in letzter Zeit an verschiedenen Projekten gearbeitet, die eine Temperatur- und Feuchtigkeitsüberwachung erforderten, und dann haben wir festgestellt, dass diese beiden Parameter tatsächlich eine entscheidende Rolle bei der Schätzung der Arbeitseffizienz eines Systems spielen. Sowohl auf industrieller Ebene als auch auf Personalsystemen ist ein optimales Temperaturniveau die Voraussetzung für die ausreichende Leistung des Systems.
Aus diesem Grund erklären wir in diesem Tutorial die Funktionsweise des SHT25 Feuchte- und Temperatursensors mit Arduino Nano.
Schritt 1: SHT25-Übersicht:
Beginnen wir zunächst mit dem grundlegenden Verständnis des Sensors und des Protokolls, mit dem er arbeitet.
SHT25 I2C Feuchte- und Temperatursensor ±1,8%RH ±0,2°C I2C Mini-Modul. Dieser hochgenaue Feuchte- und Temperatursensor hat sich in Bezug auf Formfaktor und Intelligenz zu einem Industriestandard entwickelt und liefert kalibrierte, linearisierte Sensorsignale im digitalen I2C-Format. Integriert in eine spezielle analoge und digitale Schaltung ist dieser Sensor eines der effizientesten Geräte zur Messung von Temperatur und Luftfeuchtigkeit.
Das Kommunikationsprotokoll, auf dem der Sensor arbeitet, ist I2C. I2C steht für den interintegrierten Schaltkreis. Es ist ein Kommunikationsprotokoll, bei dem die Kommunikation über SDA-(serial data)- und SCL-(serial clock)-Leitungen erfolgt. Es ermöglicht den gleichzeitigen Anschluss mehrerer Geräte. Es ist eines der einfachsten und effizientesten Kommunikationsprotokolle.
Schritt 2: Was Sie brauchen.
Zu den Materialien, die wir zur Erreichung unseres Ziels benötigen, gehören die folgenden Hardwarekomponenten:
1. SHT25 Feuchtigkeits- und Temperatursensor
2. Arduino Nano
3. I2C-Kabel
4. I2C-Schild für Arduino Nano
Schritt 3: Hardwareanschluss:
Der Abschnitt zum Hardwareanschluss erläutert im Wesentlichen die erforderlichen Kabelverbindungen zwischen dem Sensor und dem arduino nano. Die Sicherstellung korrekter Verbindungen ist die Grundvoraussetzung bei der Arbeit an jedem System für die gewünschte Ausgabe. Die erforderlichen Verbindungen sind also wie folgt:
Der SHT25 funktioniert über I2C. Hier ist das Beispiel-Verdrahtungsdiagramm, das zeigt, wie jede Schnittstelle des Sensors verdrahtet wird.
Out-of-the-box ist das Board für eine I2C-Schnittstelle konfiguriert, daher empfehlen wir, diesen Anschluss zu verwenden, wenn Sie ansonsten agnostisch sind. Alles was Sie brauchen sind vier Drähte!
Es werden nur vier Anschlüsse benötigt Vcc, Gnd, SCL und SDA Pins und diese werden mit Hilfe von I2C Kabel verbunden.
Diese Verbindungen sind in den obigen Bildern dargestellt.
Schritt 4: Temperatur- und Feuchtigkeitsüberwachungscode:
Beginnen wir jetzt mit dem Arduino-Code.
Bei der Verwendung des Sensormoduls mit dem Arduino binden wir die Wire.h-Bibliothek ein. Die Bibliothek "Wire" enthält die Funktionen, die die i2c-Kommunikation zwischen Sensor und Arduino-Board ermöglichen.
Der gesamte Arduino-Code ist unten für den Benutzer angegeben:
#enthalten
// SHT25 I2C-Adresse ist 0x40(64)
#define Addr 0x40
Void-Setup ()
{
// I2C-Kommunikation als MASTER initialisieren
Wire.begin();
// Serielle Kommunikation initialisieren, Baudrate = 9600. einstellen
Serial.begin (9600);
Verzögerung (300);
}
Leere Schleife ()
{
unsignierte int-Daten[2];
// I2C-Übertragung starten
Wire.beginTransmission(Addr);
// Feuchtemessbefehl senden, NO HOLD Master
Wire.write(0xF5);
// I2C-Übertragung stoppen
Wire.endTransmission();
Verzögerung (500);
// 2 Byte Daten anfordern
Wire.requestFrom(Addr, 2);
// 2 Byte Daten lesen
// Feuchtigkeit msb, Feuchtigkeit lsb
if(Draht.verfügbar() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
// Konvertieren Sie die Daten
Schwebefeuchte = (((data[0] * 256.0 + data[1]) * 125.0) / 65536.0) - 6;
// Daten an Serial Monitor ausgeben
Serial.print ("Relative Luftfeuchtigkeit:");
Serial.print (Luftfeuchtigkeit);
Serial.println("%RH");
}
// I2C-Übertragung starten
Wire.beginTransmission(Addr);
// Temperaturmessbefehl senden, NO HOLD Master
Wire.write(0xF3);
// I2C-Übertragung stoppen
Wire.endTransmission();
Verzögerung (500);
// 2 Byte Daten anfordern
Wire.requestFrom(Addr, 2);
// 2 Byte Daten lesen
// temp msb, temp lsb
if(Draht.verfügbar() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
// Konvertieren Sie die Daten
float cTemp = (((data[0] * 256,0 + data[1]) * 175,72) / 65536,0) - 46,85;
Schwimmer fTemp = (cTemp * 1,8) + 32;
// Daten an Serial 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);
}
Alles, was Sie tun müssen, ist den Code in Arduino zu brennen und Ihre Messwerte an der seriellen Schnittstelle zu überprüfen. Die Ausgabe ist im Bild oben dargestellt.
Schritt 5: Anwendungen:
Der SHT25-Sensor für Temperatur und relative Luftfeuchtigkeit hat verschiedene industrielle Anwendungen wie Temperaturüberwachung, Wärmeschutz von Computerperipheriegeräten. Wir haben diesen Sensor auch in Wetterstationsanwendungen sowie in Gewächshausüberwachungssystemen eingesetzt.