DHT11 mit Python und dem Raspberry Pi Programmieren

DHT11 mit Python und dem Raspberry Pi Programmieren Titelbild

Folgende Teile braucht ihr für die Anleitung

Das Schlaue Pflanze Kit Produktbild

Das Schlaue Pflanze Kit | 19.95€

DHT11 - Viel viel Besser! Produktbild

DHT11 - Viel viel Besser! | 4.95€

DHT22 Luftfeuchtigkeits und Temperatur Sensor Produktbild

DHT22 Luftfeuchtigkeits und Temperatur Sensor | 5.95€

Bis jetzt hast du schon LEDs zum Leuchten gebracht, Schleifen mit Programmcode gebunden, Daten in Variablen gespeichert und dir somit schon einen Katzen-Smiley verdient. Wir wollten hier noch einmal anmerken, wie cool du bist und wie viel praktische und tolle Dinge du schon gelernt hast. In der Zeit, in der du dieses Buch höchst konzentriert durch gearbeitet hast, hat dein Kopf bestimmt ein wenig begonnen zu dampfen. Das Resultat eines dampfenden Kopfes ist eine erhöhte Umgebungstemperatur. Diese Umgebungstemperatur wirst du im folgenden Kapitel zu messen lernen, damit du rechtzeitig Pause machen kannst, bevor es zu warm wird.

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

97.png
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.

Noch Fragen oder Feedback?

Bevor du eine Frage stellen kannst musst du dich zuerst Anmelden oder Regestrieren!