Arduino - Temperatur- und Feuchtigkeitssensor
In diesem Tutorial werden wir lernen:
- Die Unterschiede zwischen DHT11- und DHT22-Temperatur- und Feuchtigkeitssensoren
- Wie man Temperatur- und Feuchtigkeitswerte vom DHT11 mit Arduino ausliest
- Wie man Temperatur- und Feuchtigkeitswerte vom DHT22 mit Arduino ausliest
Wenn Sie nur die Temperatur messen möchten, empfehlen wir Ihnen stattdessen den wasserdichten DS18B20-Temperatursensor. Es ist ein preiswerter und praktischer Sensor. Sie können ihn in heißem oder kaltem Wasser verwenden.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über DHT11- und DHT22-Temperatur- und Feuchtigkeitssensoren
Die Gemeinsamkeiten zwischen DHT11 und DHT22
- Die Pinbelegung ist dieselbe
- Die Verkabelung zum Arduino ist dieselbe
- Die Programmierung (mit einer Bibliothek) ist ähnlich (nur eine Codezeile ist unterschiedlich)
Die Unterschiede zwischen DHT11 und DHT22
| DHT11 | DHT22 | |
|---|---|---|
| Price | ultra low cost | low cost |
| Temperature Range | 0°C to 50°C | -40°C to 80°C |
| Temperature Accuracy | ± 2°C | ± 0.5°C |
| Humidity Range | 20% to 80% | 0% to 100% |
| Humidity Accuracy | 5% | ± 2 to 5% |
| Reading Rate | 1Hz (once every second) | 0.5Hz (once every 2 seconds) |
| Body size | 15.5mm x 12mm x 5.5mm | 15.1mm x 25mm x 7.7mm |
| Operating Voltage | 3 to 5V | 3 to 5V |
Wie Sie sehen können, ist der DHT22 etwas genauer, hat einen größeren Messbereich und ist teurer als der DHT11.
Pinbelegung
DHT11- und DHT22-Sensoren in ihrer ursprünglichen Form haben vier Pins:
- GND-Pin: muss mit GND (0V) verbunden werden
- VCC-Pin: muss mit VCC (5V oder 3.3V) verbunden werden
- DATA-Pin: der Pin wird zur Kommunikation zwischen dem Sensor und dem Arduino verwendet
- NC-Pin: nicht verbunden, wir können diesen Pin ignorieren

Einige Hersteller bieten DHT11- und DHT22-Sensoren in Modulform mit drei Anschlüssen an: GND, VCC und DATA-Anschlüsse (oder alternativ: -, + und OUT-Anschlüsse).
※ Notiz:
In Modulform kann die Reihenfolge der Pins des Moduls je nach Hersteller variieren. VERWENDEN Sie IMMER die auf dem Modul aufgedruckten Beschriftungen. Schauen Sie genau hin!

Verdrahtungsdiagramm
Die Verdrahtung zum Arduino ist für beide Sensoren gleich. In der ursprünglichen Form ist ein Widerstand von 5 kΩ bis 10 kΩ erforderlich, um die Datenleitung auf High-Pegel zu halten und die Kommunikation zwischen dem Sensor und dem Arduino zu ermöglichen.
Arduino - DHT11 Sensorverkabelung

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino - DHT22-Sensorverkabelung

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino - DHT11-Modulverkabelung
Die meisten DHT22-Sensormodule haben einen eingebauten Widerstand, sodass Sie ihn nicht hinzufügen müssen. Das spart uns Verdrahtungs- oder Lötarbeiten.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino - DHT22 Modulverkabelung
Die meisten DHT22-Sensor-Module haben einen eingebauten Widerstand, sodass Sie ihn nicht hinzufügen müssen. Das erspart uns einige Verkabelungs- oder Lötarbeiten.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wie man für den DHTxx-Temperatursensor programmiert
Die Programmierung beider Sensoren ist ähnlich. Es gibt nur eine Codezeile, die anders ist.
- Die Bibliothek einbinden:
- Definieren Sie den Arduino-Pin, der mit dem DHT-Sensor verbunden ist:
- Definieren Sie den Sensortyp: DHT11 oder DHT22 (Dies ist die andere Codezeile)
oder
- DHT-Objekt deklarieren
- Sensor initialisieren:
- Luftfeuchtigkeit auslesen:
- Temperatur in Celsius lesen:
- Temperatur in Fahrenheit lesen:
Arduino-Code - DHT11
Arduino-Code - DHT22
Wenn Sie die beiden oben gezeigten Codes vergleichen, stellen Sie fest, dass eine Zeile unterschiedlich ist (Zeile 11).
Schnelle Schritte
- Schließe Arduino über ein USB-Kabel an den PC an.
- Öffne die Arduino IDE, wähle das richtige Board und den richtigen Port aus.
- Gehe zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suche „DHT“, und finde dann die DHT-Sensor-Bibliothek von Adafruit.
- Klicke auf die Installieren-Schaltfläche, um die Bibliothek zu installieren.

- Sie werden aufgefordert, weitere Bibliotheksabhängigkeiten zu installieren
- Klicken Sie auf die Schaltfläche Alle installieren, um alle Bibliotheksabhängigkeiten zu installieren.

- Kopieren Sie den obenstehenden Code, der zu dem von Ihnen verwendeten Sensor gehört, und öffnen Sie ihn mit der Arduino-IDE.
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino hochzuladen.
- Verändern Sie die Umgebung rund um den Sensor, damit sie wärmer oder kälter wird.
- Sehen Sie das Ergebnis im Serial Monitor.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.