Die im IoT-Bereich am häufigsten verwendeten Temperatur- und Feuchtigkeitssensoren sind DHT11 und DHT22. Aufgrund des geringen Preises sind sie vor allem bei Einsteigern beliebt – aber auch Profis nutzen diese Sensoren für komplexere Projekte.
DHT11 und DHT22 Temperatursensoren unterscheiden sich vor allem im Messbereich und der unterschiedlichen Genauigkeit der Messwerte:
Informationen:
DHT11 | DHT22 | |
Messwerte: | Temperatur, Feuchtigkeit | Temperatur, Feuchtigkeit |
Messbereich Temperatur: | 0° bis 50° C. | -40° bis 80° C. |
Genauigkeit Temperatur: | ± 2,0 °C | ± 0,5 °C |
Messbereich Feuchtigkeit: | 20 bis 90 % | 0 bis 100 % |
Genauigkeit Feuchtigkeit: | ± 5,0 % RH | ± 2,0 % RH |
benötigte PINs (ohne VCC und GND): | 1 | 1 |
Betriebsspannung: | 3 bis 5 V | 3 bis 5 V |
Messverfahren: | digital (One-wire) | digital (One-wire) |
genutzte Elemente:
- Widerstand Sortiment
- Keine Produkte gefunden.
- DHT22 Sensor
- Breadboard und Jumper-Kabel
Versuchsaufbau:
DHT11 / DHT22 | Arduino UNO |
1 VDD | 5V |
2 Data | 10kΩ Widerstand -> Pin 2 |
3 | nicht verbunden |
4 GND | GND |
Wer sich ein Kabel und den Widerstand sparen möchte, kann alternativ ein Keine Produkte gefunden. nutzen, welches den 10kΩ Widerstand bereits integriert hat.
Alle gezeigten Informationen zum Aufbau oder Pinout sind universell für DHT11 und DHT22 anwendbar.
Auch die vom Arduino genutzte Library arbeitet mit beiden Versionen des Temperatursensors.
Sketch / Arduino IDE Code
Für den gezeigten Sketch werden die Bibliotheken „DHT-sensor-library“ und „Adafruit_Sensor“ benötigt. Diese können folgendermaßen installiert werden:
In der Menüleiste der Arduino-IDE auf „Werkzeuge“ und anschließend auf „Bibliotheken verwalten“ klicken. Nun erscheint ein weiteres Fenster mit der Bezeichnung „Bibliotheksverwalter“. Hier können nun die zwei o.g. Bibliotheken (Libraries) gesucht, und mit einem Klick auf „Installieren“ zur Arduino IDE hinzugefügt werden.
#include "DHT.h" //DHT Bibliothek wird laden #define DHTPIN 2 //Der Sensor ist an PIN 2 (D2) angeschlossen #define DHTTYPE DHT22 //Es handelt sich um den DHT22 Sensor DHT dht(DHTPIN, DHTTYPE); //Sensor wird mit „dht" initiiert void setup() { Serial.begin(115200); //Serielle Verbindung starten dht.begin(); //DHT Sensor starten } void loop() { delay(2000); //Zwei Sekunden Vorlaufzeit bis zur ersten und jeder weiteren Messung float Luftfeuchtigkeit = dht.readHumidity(); //Luftfeuchtigkeit auslesen float Temperatur = dht.readTemperature(); //Temperatur auslesen Serial.print("Luftfeuchtigkeit: "); //alle Werte im seriellen Monitor ausgeben Serial.print("44.20"); Serial.println(" %"); Serial.print("Temperatur: "); Serial.print("25.60"); Serial.println(" °C."); }
Die Ausgabe des seriellen Monitor sollte nun folgendes ausgeben:
Mehr zum Thema Arduino
Möchtest du mehr interessante Arduino Projekte kennen lernen und weiter in die Welt der Mikrocontroller einsteigen? Dann empfehle ich das Buch Arduino Kompendium: Elektronik, Programmierung und Projekte – damit ist es möglich auch ohne umfassende Elektronik- und Programmiervorkenntnisse eigene intelligente Arduino-Projekte umzusetzen.