DHT11 mit Python und dem Raspberry Pi Programmieren
Folgende Teile braucht ihr für die Anleitung
Das Schlaue Pflanze Kit | 19.95€
DHT11 - Viel viel Besser! | 4.95€
DHT22 Luftfeuchtigkeits und Temperatur Sensor | 5.95€
DHT11 - Luftfeuchtigkeit und Temperatur messen
Da nicht jeder Mensch mit seinem Raspberry Pi die Temperatur messen möchte, ist die Bibliothek und die benötigte Software leider nicht vorinstalliert. Du musst diese Bibliothek also selber aus dem Internet laden. Wenn dein Pi schon eine Internetverbindung hat, dann mach hier einfach weiter. Wenn dein Pi noch keine Internetverbindung hat, kannst du den Pi einfach über ein Lan-Kabel an den Router ins Netz bringen. Mehr wie immer online!
sudo apt-get update
Mit den apt-get Befehlen verwalten wir die Programme, welche auf unserem Computer oder Raspberry Pi installiert sind. Speziell bei diesen Quellen werden die Softwarequellen aktualisiert, damit wir auch immer nur die neusten Programme installieren.
Wenn du den Sensor mit Python2 benutzen möchtest, musst du die folgenden Befehle einfach nur durch python ersetzen (also die 3 weglassen) ;)
sudo apt-get install build-essential python3-dev
Hiermit installieren wir jetzt das Programm, das wir brauchen. Was es wirklich kann, zeigt sich gleich.
Und mit folgendem Befehl lädst du dir die Bibliothek herunter:
git clone
https://github.com/coding-world/Python_DHT.git
Das besondere ist dabei, dass die Bibliothek in den Ordner Python_DHT runtergeladen wird und deinem Computer noch nicht bekannt ist. Deswegen müssen wir erst einmal in den Ordner der Bibliothek wechseln.
cd Python_DHT
Mit
sudo python3 setup.py install
installieren wir die Bibliothek auf dem Raspberry Pi und können sie jetzt auch mit import
in unserem Programm benutzen. In der nächsten Einheit werden wir dann den Sensor anschließen.
Schließe zunächst, wie immer, alles richtig an den Pi an. Die Vorderseite des DHT11 erkennst du an dem Gitter.
Anschließen

Anschlüsse am Pi | Anschlüsse am DHT |
3,3V | 1. Pin DHT |
GPIO4 | 2. Pin DHT |
Widerstand 4,7kOhm | Zwischen 1. Pin DHt und 2. Pin DHT |
GND (Ground) | 4. Pin DHT |
Zwischen dem 1. und 2. Pin am DHT musst du noch einen Widerstand anschließen. Das dient nicht nur zur Stromversorgung des Sensors, sondern auch dazu, dass dieser Messwerte liefern kann, die akkurater sind. Am besten eignet sich dafür der Widerstand mit 4,7kOhm. Widerstände erkennst du an ihrem aufgemalten Farbcode. Beim 4,7kOhm lautet dieser: Gelb, Lila, Schwarz, Braun und Gold.
Bitte achte genau darauf, den Sensor in dieser Reihenfolge anzuschließen! Wenn du den 3,3V und den GND Pin verwechselst, kommt es zu einem Kurzschluss und der Sensor kann dadurch kaputt gehen und sehr sehr warm werden. Achte darauf! Solltest du bemerken, dass der Sensor unnnormal warm wird oder sich sogar das Plastik verbiegt, schalte sofort deinen Raspberry Pi aus oder entferne die Verbindung zwischen dem Breadboard und dem Sensor!
Wie dir hoffentlich aufgefallen ist, benutzen wir nicht den 3. Pin am DHT Sensor. Diesen kannst du sonst benutzen, um die Daten analog auszulesen.
Jetzt, da alles richtig angeschlossen und installiert ist, können wir uns endlich in der nächsten Einheit daran machen, die Daten auszulesen.
Nun ist alles fertig eingerichtet und du kannst mit dem Programmieren anfangen. Wie immer einfach eine neue Datei anlegen und los:
sudo nano dht11_einfach.py
Das unbeschriebene Blatt mit Code füllen…
import Python_DHT
sensor = Python_DHT.DHT11
pin = 4
feuchtigkeit, temperatur =
Python_DHT.read_retry(sensor, pin)
print("Temperatur = "+str(temperatur)+
"C Feuchtigkeit = "+str( feuchtigkeit)+"%")
Am Anfang binden wir wie immer die benötigte Bibliothek ein. In Zeile 3 erstellen wir eine Variable namens sensor und speichern in ihr einfach nur die Art des Sensors, den wir auslesen möchten. In unserem Fall ist das der DHT11.
In Zeile 4 legen wir den Pin am Pi fest, den wir nutzen möchten.
In Zeile 5 lernst du wieder etwas Neues. Man kann nämlich auch mehrere Variablen durch ein Komma getrennt hintereinander erzeugen und ihnen hinter dem Gleichzeichen, wieder durch Kommata getrennt, verschiedene Werte zuweisen. In diesem Fall geben wir mit der Funktion .read_retry()
an, welchen Sensor und welchen Pin wir nutzen wollen.
Ab Zeile 7 geben wir wie gewohnt alle Informationen in der Konsole aus.
Aus Druck Technischen Gründen gibt es von Zeile 5 auf 6 und von Zeile 7 und 8 zwei Zeilnumbrüche. Die kannst du in deinem Programmcode auch ignorieren.
Jetzt bist du dran: Kriegst du es hin, dass ab einer bestimmten Temperatur, z.B. 25°C, eine LED anfängt zu leuchten? Tipp: Mit einem Atemhauch lässt sich die Temperatur erhöhen und logische Operatoren sind bestimmt auch nicht verkehrt.