Dieser Sensor ist ein Mischung aus Temperatursensor und Luftfeuchtigkeitssensor in einer kompakten Bauform - der Nachteil ist jedoch die geringe Abtastrate der Messung, so dass nur jede 2 Sekunden ein neues Messergebnis zur Verfügung steht - dieser Sensor ist somit sehr gut für Langzeit-Messungen geeignet.

Technische Daten

Chipsatz DHT11
Kommunikationsprotokoll 1-Wire
Messbereich 0°C bis 50°C
Messgenauigkeit ±2°C
Messgenauigkeit ±5%RH
Messbare Luftfeuchtigkeit 20-90%RH

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino

Arduino Sensor
Pin D2 Signal
5V +V
Masse GND

Für das folgende Codebeispiel wird eine zusätzliche Bibliothek benötigt:

DHT-sensor-library von Adafruit | veröffentlicht unter der MIT License

Dieser Sensor gibt sein Messergebnis nicht als analoges Signal auf einen Ausgangspin aus, sondern kommuniziert diesen digital kodiert.

Das unten stehende Beispiel verwendet diese besagte Library - hierzu empfehlen wir diese von Github herunterzuladen, zu entpacken und im Arduino-Library-Ordner, welcher sich standardmäßig unter (C:\Benutzer[Benutzername]\Dokumente\Arduino\libraries) befindet, zu kopieren, damit diese für dieses Codebeispiel und folgende Projekte zur Verfügung steht. Alternativ ist diese auch im untenstehenden Download Paket ebenfalls enthalten.

// Adafruit_DHT Library wird eingefügt
#include "DHT.h"
 
// Hier kann der jeweilige EingangsPin deklariert werden
#define DHTPIN 2     
 
// Der Sensor wird initialisiert
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);
 
void setup() 
{
  Serial.begin(9600);
  Serial.println("KY-015 Test - Temperatur und Luftfeuchtigkeits-Test:");
 
  // Messung wird gestartet
  dht.begin();
}
 
// Hauptprogrammschleife
// Das Programm startet die Messung und liest die gemessenen Werte aus
// Zwischen den Messungen wird eine Pause von 2 Sekunden eingelegt,
// damit beim nächsten Druchlauf eine neue Messung erfasst werden kann.
void loop() {
 
  // Zwei Sekunden Pause zwischen den Messungen
  delay(2000);
 
  // Luftfeuchtigkeit wird gemessen
  float h = dht.readHumidity();
  // Temperatur wird gemessen
  float t = dht.readTemperature();
   
  // Hier wird überprüft, ob die Messungen fehlerfrei druchgelaufen sind
  // Bei Detektion eines Fehlers, wird hier eine Fehelrmeldung ausgegeben
  if (isnan(h) || isnan(t)) {
    Serial.println("Fehler beim Auslesen des Sensors");
    return;
  }
 
  // Ausgabe in die serrielle Konsole
  Serial.println("-----------------------------------------------------------");
  Serial.print("Luftfeuchtigkeit: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatur: ");
  Serial.print(t);
  Serial.print(char(186)); //Ausgabe <°> Symbol
  Serial.println("C ");
  Serial.println("-----------------------------------------------------------");
  Serial.println(" ");
}

Bitte beachten Sie, dass der Sensor nur etwa alle 2 Sekunden ein neues Messergebnis zur Verfügung stellt; also eher für Langzeit-Aufnahmen ausgelegt ist

Beispielprogramm Download

KY015-Arduino.zip

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

Raspberry Pi Sensor
GPIO 23 [Pin 16] Signal
+3,3V [Pin 1] +V
Masse [Pin 6] GND

Das Programm nutzt zur Ansteuerung des DHT11-Sensors, der auf diesem Sensor-Modul verbaut ist, die entsprechende Adafruit_CircuitPython_DHT Library der Firma Adafruit. Diese wurde mit der MIT OpenSource-Lizenz veröffentlicht.

Diese muss vorab erst installiert werden. Hierzu muss folgendermaßen vorgegangen werden:

Zuerst müssen noch benötigte System-Module aktualisiert und installiert werden. Hierzu werden die nächsten drei Befehle eingegeben und mit der Taste "Enter" jeweils bestätigt (eventuell müssen diese mit der Taste "Y" zusätzlich bestätigt werden):

sudo apt-get update
sudo apt-get install build-essential python-dev

und

sudo apt install python3-libgpiod

Mit dem Befehl...

sudo pip3 install adafruit-circuitpython-dht

... kann die aktuelle Version der Adafruit_CircuitPython_DHT Library heruntergeladen und installiert werden.

Hiernach kann das folgende Python-Code Beispiel verwendet werden. Das Programm startet die Messung am Sensor und gibt die gemessenen Werte für den Luftdruck und der Temperatur (in °C und F) aus.

Bei dem neu starten des Codes sollte vorher etwas gewartet werden um unnötige Fehlermeldungen zu verhindern

import time
import board
import adafruit_dht

# Initialisieren Sie das dht-Gerät, wobei der Datenpin mit Pin 16 (GPIO 23) des Raspberry Pi verbunden ist:
dhtDevice = adafruit_dht.DHT11(board.D23)

# Sie können DHT22 use_pulseio=False übergeben, wenn Sie pulseio nicht verwenden möchten.
# Dies kann auf einem Linux-Einplatinencomputer wie dem Raspberry Pi notwendig sein,
# aber es wird nicht in CircuitPython funktionieren.
# dhtDevice = adafruit_dht.DHT22(board.D18, use_pulseio=False)

while True:
    try:
        # Drucken der Werte über die serielle Schnittstelle
        temperature_c = dhtDevice.temperature
        temperature_f = temperature_c * (9 / 5) + 32
        humidity = dhtDevice.humidity
        print("Temp: {:.1f} F / {:.1f} C    Humidity: {}% ".format(temperature_f, temperature_c, humidity))

    except RuntimeError as error:
        # Fehler passieren ziemlich oft, DHT's sind schwer zu lesen, einfach weitermachen
        print(error.args[0])
        time.sleep(2.0)
        continue
    except Exception as error:
        dhtDevice.exit()
        raise error

    time.sleep(2.0)

Bitte beachten Sie, dass der Sensor nur etwa alle 2 Sekunden ein neues Messergebnis zur Verfügung stellt; also eher für Langzeit-Aufnahmen ausgelegt ist

Beispielprogramm Download

KY015-RPi.zip

Zu starten mit dem Befehl:

sudo python3 KY015-RPi.py

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

Micro:Bit Sensor
Pin 1 Signal
3V +V
Masse GND

Hierbei handelt es sich um ein MakeCode Beispiel für Micro:Bit welches essenziel das gleiche macht wie die Beispiele der anderen beiden Varianten. Jedoch ist dieses Beispiel eher näher an das Beispiel des Raspberry Pi angelehnt als an das Beispiel des Arduino.

Für das folgende Codebeispiel wird eine zusätzliche Librarie benötigt:

pxt-DHT11_DHT22 von alankrantas | veröffentlicht unter der MIT License

Diese Librarie müssen Sie vor der benutzung des Codes erst zu ihrer IDE hinzufügen.

Dies tun Sie indem Sie in ihrer IDE auf Erweiterungen gehen und, mit der folgenden URL https://github.com/alankrantas/pxt-DHT11_DHT22.git, nach der Librarie suchen um diese dann hinzuzufügen.

Beispielprogramm Download

microbit-KY-015.zip