So verwenden Sie den HTU21DF Luftfeuchtigkeits- und Temperatursensor mit Arduino (Basiscode)

So verwenden Sie den HTU21DF Luftfeuchtigkeits- und Temperatursensor mit Arduino (Basiscode)

In diesem Tutorial werden wir lernen, wie man den HTU21DF Temperatur- und relative Luftfeuchtigkeitssensor mit einem Arduino verwendet. Dieser Sensor ist bekannt für seine Genauigkeit und seinen niedrigen Stromverbrauch, was ihn ideal für verschiedene Anwendungen macht. Am Ende dieses Tutorials werden Sie in der Lage sein, Temperatur- und Feuchtigkeitswerte zu lesen und sie im Arduino Serial Monitor anzuzeigen. Zur weiteren Klärung sollten Sie sich das Video unter (im Video bei 00:00) ansehen.

Hardware erklärt

Der HTU21DF-Sensor ist ein digitaler Feuchtigkeits- und Temperatursensor, der über das I2C-Protokoll kommuniziert. Er kann Temperaturen im Bereich von -40°C bis +125°C und relative Luftfeuchtigkeit von 0% bis 100% messen. Der Sensor arbeitet mit einer Betriebsspannung von 3,3 V, was ihn für batteriebetriebene Anwendungen geeignet macht.

Zwei Pins sind für die Kommunikation unerlässlich: SDA (Datenleitung) und SCL (Taktleitung). Der Sensor verfügt außerdem über einen Energiesparmodus, der im Leerlauf nur 0,04 µA verbraucht und während der Messungen etwa 400 µA. Dieses Merkmal macht ihn besonders nützlich in energieempfindlichen Projekten.

Datenblattdetails

HerstellerTE Connectivity (ehemals MEAS)
TeilenummerHTU21DF
Logik/IO-Spannung3,3 V
Versorgungsspannung1,5 - 3,6 V
Leerlaufstromverbrauch0,04 µA
Messung des aktuellen Verbrauchs400 µA
Temperaturbereich-40 bis +125 °C
Feuchtigkeitsbereich0 bis 100 %
Auflösung0,04 % (Luftfeuchtigkeit), 0,01 °C (Temperatur)
Paket6-Pin LGA

  • Stellen Sie sicher, dass die richtigen Verbindungen hergestellt werden, um Schäden zu vermeiden.
  • Halten Sie die Stromversorgung innerhalb der angegebenen Spannungsgrenzen (1,5 bis 3,6 V).
  • Verwenden Sie bei Bedarf Pull-up-Widerstände an den SDA- und SCL-Leitungen.
  • Seien Sie vorsichtig bei umgekehrter Polarität, wenn Sie die Stromversorgung anschließen.
  • Lassen Sie dem Sensor nach dem Einschalten etwas Zeit zum Stabilisieren.

Verdrahtungsanweisungen

Um den HTU21DF-Sensor mit dem Arduino zu verbinden, befolgen Sie diese Schritte:

Zuerst verbinden Sie den linken Pin des Sensors mit der 3,3V-Versorgung des Arduino. Der zweite Pin, der normalerweise rot markiert ist, sollte mit dem Erdungspunkt (GND) verbunden werden. Verbinden Sie anschließend den SDA-Pin des Sensors mit dem PinA4auf dem Arduino und den SCL-Pin mit dem Pin verbindenA5Dieses Setup ermöglicht es dem Arduino, über das I2C-Protokoll mit dem Sensor zu kommunizieren.

Stellen Sie sicher, dass alle Verbindungen sicher sind, um Kommunikationsprobleme zu vermeiden. Wenn Sie ein Breadboard verwenden, überprüfen Sie die Verdrahtung doppelt, um die ordnungsgemäßen Verbindungen aufrechtzuerhalten. Im Video werden alternative Verdrahtungsmethoden besprochen (im Video bei 01:30).

Codebeispiele und Anleitung

Unten finden Sie eine kurze Übersicht über den Code, der verwendet wird, um mit dem HTU21DF-Sensor zu interagieren. Zuerst werden die notwendigen Bibliotheken eingebunden:

#include 
#include "Adafruit_HTU21DF.h"

Dieser Code initialisiert die I2C-Kommunikation und erstellt eine Instanz des HTU21DF-Sensors alshtu.

Als Nächstes richten wir die serielle Kommunikation imsetup()Funktion:

void setup() {
  Serial.begin(9600);
  if (!htu.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

Hier wird der Sensor initialisiert, und wenn die Verbindung fehlschlägt, wird eine Nachricht ausgegeben und das Programm stoppt.

In derloop()Funktion, wir lesen die Temperatur- und Feuchtigkeitswerte aus:

void loop() {
    float temp = htu.readTemperature();
    float rel_hum = htu.readHumidity();
    Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
    Serial.print("\t\t");
    Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
    delay(500);
}

Die Temperatur wird in der Variablen gespeichert.temp, und die relative Luftfeuchtigkeit wird gespeichert inrel_humDiese Werte werden alle 500 Millisekunden im Seriellen Monitor ausgegeben, sodass Sie Änderungen in Echtzeit beobachten können.

Für den vollständigen Code siehe das vollständige Programm, das unter dem Artikel geladen ist.

Demonstration / Was zu erwarten ist

Sobald alles verdrahtet und der Code hochgeladen ist, öffnen Sie den Serial Monitor, um die Temperatur- und Luftfeuchtigkeitswerte anzuzeigen. Sie sollten sehen, wie sich die Werte alle halbe Sekunde aktualisieren. Wenn Sie dem Sensor mit einem Heißluftgebläse Wärme zuführen, werden Sie feststellen, dass die Temperaturwerte steigen, während die Luftfeuchtigkeitswerte sinken (im Video bei :00).

Seien Sie sich bewusst, dass die Messungen ungenau werden oder zurückgesetzt werden können, wenn die Temperatur 125 °C überschreitet. Es ist wichtig, den Sensor innerhalb seines angegebenen Betriebsbereichs zu halten, um genaue Messwerte zu gewährleisten.

Videotimestamps

  • 00:00- Einführung
  • 01:30- Verdrahtungsanleitungen
  • 05:00- Demonstration

Bilder

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
210-Arduino code using HTU21D-F Humidity & Temperature Sensor (basic-2)
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Dateien📁

Datenblatt (pdf)