Dieses Tutorial ist Teil von: Digitaler Sensor für relative Luftfeuchtigkeit und Temperatur HTU21D
Videos zum digitalen Sensor für relative Luftfeuchtigkeit und Temperatur HTU21D. Links zu weiteren Videos finden Sie unterhalb dieses Artikels.
Lektion 35-2: Verwendung des HTU21D-Temperatursensors – Individueller Code
In diesem Tutorial werden wir untersuchen, wie man den HTU21D-Temperatursensor mit Arduino verwendet, um Temperatur und Luftfeuchtigkeit zu messen. Der HTU21D ist ein zuverlässiger, stromsparender Sensor, der über I2C kommuniziert und somit einfach in Ihre Projekte integriert werden kann. Am Ende dieser Lektion werden Sie einen funktionierenden Code haben, der die Temperatur in Celsius, Fahrenheit und Kelvin sowie die relative Luftfeuchtigkeit liest.

Bevor wir in die Verdrahtung und den Code eintauchen, ist es wichtig, die beteiligten Komponenten zu verstehen. Der HTU21D-Sensor benötigt minimale Verbindungen: Strom, Erdung und zwei I2C-Leitungen für den Datentransfer. Diese Einfachheit macht ihn zu einer ausgezeichneten Wahl für verschiedene Anwendungen, von Wetterstationen bis hin zu Smart-Home-Geräten. Für eine visuelle Anleitung siehe das Video bei :45.
Hardware erklärt
Die Hauptkomponente dieses Projekts ist der HTU21D-Sensor, der Temperatur und Feuchtigkeit misst. Dieser Sensor kann bei Spannungen von 1,5 V bis 3,6 V betrieben werden, was ihn vielseitig für verschiedene Anwendungen macht. Er liefert hochauflösende Messwerte, wobei die Temperaturmessungen von -40 °C bis +125 °C reichen und die Feuchtigkeitsmessungen eine Auflösung von 0,04 % haben.
Zusätzlich verwendet der Sensor I2C-Kommunikation, die zwei Pins erfordert: SDA (Datenleitung) und SCL (Taktsignal). Dies ermöglicht eine einfache Integration mit Arduino und anderen Mikrocontrollern, ohne dass komplexe Verkabelungen erforderlich sind. Die Adafruit-Bibliothek vereinfacht die Interaktion mit dem Sensor, indem sie die Datenabfrage und Kommunikationsprotokolle nahtlos verwaltet.
Datenblattdetails
| Hersteller | TE Connectivity |
|---|---|
| Teilenummer | HTU21D-F |
| Logik/IO-Spannung | 1,5 - 3,6 V |
| Versorgungsspannung | 3,3 V |
| Aktueller Verbrauch (Leerlauf) | 0,02 µA (typ.) |
| Aktueller Verbrauch (aktiv) | 450 µA (typ.) |
| Temperaturbereich | -40 bis +125 °C |
| Feuchtigkeitsbereich | 0 bis 100 %RH |
| Auflösung | 0,04 %RH; 0,01 °C |
| Paket | 6-Pin DFN |
- Sichern Sie die richtige Stromversorgung, um Schäden an den Sensoren zu vermeiden.
- Verwenden Sie Pull-up-Widerstände an den SDA- und SCL-Leitungen, wenn diese nicht integriert sind.
- Halten Sie die Sensorverbindungen kurz, um Rauschen zu minimieren.
- Überwachen Sie die Spannung während des Betriebs, um die Stabilität aufrechtzuerhalten.
- Erwägen Sie die Verwendung eines Kondensators zur Entkopplung in der Nähe der Stromanschlüsse.
Verdrahtungsanweisungen

Um den HTU21D-Temperatursensor anzuschließen, beginnen Sie damit, die Stromversorgung und die Masse zu verbinden. Schließen Sie den linken Pin des Sensors an eine 3,3-V-Quelle an, wobei sichergestellt werden muss, dass diese die erforderliche Spannung verarbeiten kann. Der zweite Pin, der typischerweise rot gekennzeichnet ist, sollte mit der Masse verbunden werden.
Verbinden Sie als Nächstes den SDA-Pin des Sensors mit dem Pin.A4auf dem Arduino, der als Datenleitung für die I2C-Kommunikation dient. Verbinden Sie dann den SCL-Pin mit dem PinA5, die als Zeilenzeiger fungiert. Stellen Sie sicher, dass diese Verbindungen sicher sind, da lose Drähte zu intermittierenden Messwerten oder zu Kommunikationsproblemen mit dem Sensor führen können.
Code-Beispiele & Anleitung
Im Code beginnen wir damit, die erforderlichen Bibliotheken einzufügen und den Sensor zu initialisieren. Die ZeileAdafruit_HTU21DF htu = Adafruit_HTU21DF();erzeugt eine Instanz der Sensor-Klasse. In dersetup()Funktion, wir starten die serielle Kommunikation und überprüfen, ob der Sensor ordnungsgemäß angeschlossen ist.
void setup() {
Serial.begin(9600);
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}Dieser Codeausschnitt überprüft, ob der Sensor korrekt funktioniert. Wenn nicht, wird eine Fehlermeldung ausgegeben und das Programm angehalten. In derloop()Funktion, wir lesen die Temperatur- und Feuchtigkeitswerte kontinuierlich.
void loop() {
Serial.print(getHTU('C'));
Serial.print("C");
Serial.print(getHTU('H'));
Serial.println("%");
delay(1000);
}Hier, die FunktiongetHTU()wird mit verschiedenen Parametern aufgerufen, um die Temperatur in Celsius und die Luftfeuchtigkeit abzurufen. Die Verzögerung stellt sicher, dass die Messungen jede Sekunde durchgeführt werden, was eine glatte Ausgabe auf dem seriellen Monitor ermöglicht. Der vollständige Code ist zur Referenz unter dem Artikel verfügbar.
Demonstration / Was zu erwarten ist
Sobald alles korrekt verkabelt ist und der Code hochgeladen wurde, sollten Sie die Temperatur- und Feuchtigkeitsmesswerte im seriellen Monitor angezeigt bekommen. Die Temperatur wird in Celsius angezeigt, gefolgt von dem entsprechenden Feuchtigkeitsprozentsatz. Wenn Sie Wärme auf den Sensor anwenden, sollten Sie beobachten, dass die Temperatur entsprechend ansteigt (im Video um 10:15).
Seien Sie vorsichtig mit den Grenzen des Sensors; wenn die Temperatur 125 °C überschreitet, kann er eine falsche Ablesung zurückgeben oder Null anzeigen. Stellen Sie immer sicher, dass Ihre Verbindungen sicher sind und der Sensor korrekt mit Strom versorgt wird, um Probleme während des Betriebs zu vermeiden.
Video-Zeitstempel
- 00:00Einführung
- 03:45Sensor anschließen
- 05:30Code-Durchgang
- 10:15Demonstration
- 12:00Fazit
Dieses Tutorial ist Teil von: Digitaler Sensor für relative Luftfeuchtigkeit und Temperatur HTU21D
- Lektion 35-1: Verwendung des HTU21D Temperatursensors
- Lektion 35: Verwendung des HTU21D-Temperatursensors mit dem Arduino
- Lektion 36: Verwendung des HTU21D-Temperatursensors mit einem LCD Arduino Schritt-für-Schritt-Kurs
- Verwendung von zwei weiteren HTU21DF-Feuchtigkeits- und Temperatursensoren mit Arduino
- Anzeige der Temperatur von einem HTU21D auf einem LCD
- Anzeige der Temperatur von einem HTU21D als Balkendiagramm auf einem LCD
- So verwenden Sie den HTU21DF Luftfeuchtigkeits- und Temperatursensor mit Arduino (Basiscode)
- So verwenden Sie den HTU21DF Feuchtigkeits- und Temperatursensor mit Arduino (benutzerdefinierter Code)
Dinge, die Sie vielleicht brauchen
-
AmazonHTU21D-Modul bei Amazon kaufenamzn.to
-
eBayKaufe HTU21D von eBayebay.us
-
AliExpressKaufen Sie HTU21D oder SHT21 bei AliExpresss.click.aliexpress.com
Ressourcen & Referenzen
-
ExternAdafruit HTU21D Bibliothek (GitHub)github.com
-
ExternHTU21D Datenblatt (PDF)cdn-shop.adafruit.com
-
ExternUnterschied zwischen HTU21DF und HTU21D (Bild)robojax.com
Dateien📁
Datenblatt (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB