🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

Raspberry PI Tutorial #4: DHT11 Sensor ansteuern (Teil1)

Veröffentlicht am 18. Oktober 20193. Mai 2023 von Stefan Draeger

In diesem Tutorial möchte ich beschreiben wie du den Sensor DHT11 am Raspberry PI mit Python programmierst und somit die aktuellen Werte für die Temperatur und die Luftfeuchtigkeit erhältst. 

Raspberry PI mit DHT11 Sensor
Raspberry PI mit DHT11 Sensor

Dieses ist der erste Teil zum DHT11 Sensor am Raspberry PI, zunächst wollen wir „nur“ die Werte auf der Konsole / dem Terminal ausgeben. 

  • Technische Daten des DHT11 Sensors
  • Bezug der benötigten Komponenten für dieses Tutorial
  • T-Cobbler für das Breadboard
    • Bezug
  • Aufbau des DHT11 Sensors
  • Aufbau & Schaltung
    • Aufbau
    • Schaltung
  • Programmierung
    • Vorbereitung
    • aktualisieren der Pakete aus der Sourcelist
    • Installieren von Python3-PIP
    • benötigte Bibliothek installieren
      • Installieren der Bibliothek mit pip3
      • Herunterladen aus dem Repository und Installieren
    • Quellcode
      • Was machen wir im Quellcode?
      • Ausgabe auf der Kommandozeile
  • Download

Technische Daten des DHT11 Sensors

  • Messbereich der relativen Luftfeuchtigkeit 20% bis 90%
  • Toleranz des Messbereiches für die relative Luftfeuchtigkeit ±5%
  • Messbereich der Temperatur 0 bis 60°C
  • Toleranz des Messbereiches für die Temperatur ±2°C
  • Betriebsspannung 3.3V bis 5V

Wenn die Messgenauigkeit zu grob ist kann auf zu einem DHT22 Sensor gegriffen werden, dieser wird genauso wie der DHT11 Sensor angesteuert, jedoch hat dieser einen deutlich besseren Messbereich / eine bessere Toleranz. Beide Sensoren habe ich mir bereits einmal genauer im Tutorial Arduino Lektion 29: DHT22 Sensor angeschaut.

Bezug der benötigten Komponenten für dieses Tutorial

Für den nachbau von diesem Tutorial benötigst du folgende elektronische Bauteile:

  • 1x Raspberry PI,
  • 1x DHT11 Sensor,
  • 1x 10 kOhm Widerstand,
  • 1x Breadboard, 400 Pin,
  • 3x Breadboardkabel, männlich – weiblich, 20cm

T-Cobbler für das Breadboard

Ich habe mir für den Raspberry PI ein T-Cobbler für zbsp. ein 400 Pin Breadboard über ebay.de besorgt. Je nachdem welches Raspberry PI Modell man hat benötigt man ein 40 Pin oder  20 Pin T-Cobbler.

Raspberry PI - T-Cobbler für ein Breadboard
Raspberry PI – T-Cobbler für ein Breadboard

Bezug

Wie bereits erwähnt bekommt man den T-Cobbler bei ebay.de und natürlich auch bei amazon.de.

ModellShopPreis
40 Pin
für Raspberry PI ab Vers. 2
ebay.deab 4,20 € inkl. Versandkosten
amazon.deab 2,73€ inkl. Versandkosten

Für das Model 1 des Raspberry PI wird ein 20 Pin T-Cobbler benötigt, leider konnte ich zum Zeitpunkt der Erstellung des Tutorials keines finden.

Aufbau des DHT11 Sensors

Der DHT11 Sensor (und auch der DHT22) verfügt über 4 Pins welche wie folgt belegt sind. 

DHT11 Sensor Pinout
DHT11 Sensor Pinout

Der Pin „NC“ ist nicht belegt und wird in der Schaltung nicht verwendet.

Aufbau & Schaltung

Aufbau

Aufbau der Schaltung - Raspberry PI mit DHT11 Sensor
Aufbau der Schaltung – Raspberry PI mit DHT11 Sensor

Schaltung

Da nicht jeder sich ein T-Cobbler besorgt zeige ich die Schaltung wie diese ohne so ein Modul aufgebaut würde.

Schaltung - Raspberry PI Model B mit DHT11 Sensor
Schaltung – Raspberry PI Model B mit DHT11 Sensor

Programmierung

Wie bereits in den Tutorials zuvor und im Beitrag Raspberry PI Kit #1: Smart Plant Kit “Schlaue Pflanze” gezeigt, verwende ich die Skriptsprache Python. 

Vorbereitung

Für den Quellcode sowie die später installierte Bibliothek erstelle ich mit dem Befehl

mkdir dht11

ein Verzeichnis im „home“ des Benutzers „pi“.
Als nächstes wird nun mit dem Befehl 

cd dht11

in das erstelle Verzeichnis gewechselt.

aktualisieren der Pakete aus der Sourcelist

Damit wir sichergehen können das unser System aktuell ist starten wir kurz ein Update mit dem Befehl

sudo apt-get update

Installieren von Python3-PIP

Für das spätere installieren der Bibliothek benötigen wir das Tool „python3 pip“ dieses wird mit dem Befehl

sudo apt-get install python3-pip

installiert.

Danach werden noch einige zusätzliche Pakete mit dem Befehl

sudo python3 -m pip install --upgrade pip setuptools wheel

installiert.

Raspberry PI - installieren und aktualieren von PIP3
Raspberry PI – installieren und aktualieren von PIP3

benötigte Bibliothek installieren

Es gibt nun zwei Möglichkeiten wie die benötigte Adafruit Bibliothek installiert werden kann, einmal mit dem Befehl „pip3“ und einmal läd man sich eine Kopie der Sourcen auf den Raspberry und installiert diese.

Installieren der Bibliothek mit pip3

Der wohl einfachste weg ist die Installation mit „pip3“.

sudo pip3 install Adafruit_DHT
Raspberry PI - installieren der Adafruit DHT Bibliothekt mit pip3
Raspberry PI – installieren der Adafruit DHT Bibliothekt mit pip3

Herunterladen aus dem Repository und Installieren

Möchte man sich die Sourcen und die zusätzlichen Beispiele herunterladen so benötigt man „git“ dieses ist beim RaspianLinux bereits installiert so dass, man einfach nur den Befehl

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

auf der Kommandozeile eingeben und mit Enter bestätigen muss.

Es wird nun eine Verbindung zum Git Repository aufgebaut und eine Kopie in den aktuellen Ordner abgelegt.

Raspberry PI - herunterladen der Sourcen der Adafruit DHT Bibliothek mit "git clone"
Raspberry PI – herunterladen der Sourcen der Adafruit DHT Bibliothek mit „git clone“

Quellcode

Den nachfolgenden Quellcode habe ich den Beispielen entnommen welcher der Adafruit DHT Bibliothek beiliegen.

import Adafruit_DHT

sensor = Adafruit_DHT.DHT11

pin = 4

humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

if humidity is not None and temperature is not None:
    print('Temperatur={0:0.1f}*C  Luftfeuchtigkeit={1:0.1f}%'.format(temperature, humidity))
else:
    print('Fehler beim empfangen der Daten. Bitte versuche es erneut!')

Was machen wir im Quellcode?

Zeile 1 – import Adafruit_DHT

Mit dieser Zeile importieren wir die zuvor installierte Adafruit DHT Bibliothek.

Zeile 2 – sensor = Adafruit_DHT.DHT11

Um den Sensor auszuwerten, müssen wir zunächst eine Instanz von dem Objekt erzeugen.
Wenn man einen DHT22 oder AM2302 Sensor hat muss man dieses Objekt mit der entsprechenden Konstante erzeugen.

DHT11 – Adafruit_DHT.DHT11
DHT22 – Adafruit_DHT.DHT22
AM2302  – Adafruit_DHT.AM2302

Zeile 3 – pin = 4

Ich habe den Sensor am GPIO Pin 4 angeschlossen. Somit weise ich der Variable „pin“ den Wert 4 zu.
Wenn du einen anderen GPIO Pin verwendest dann muss du hier den Wert anpassen.

Zeile 4 – humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

In Python können wir bequem mehrere Werte von einer Funktion empfangen. Der Funktion „read_retry“ wird eine Instanz des Sensors sowie die Pin Bezeichnung übergeben.

Zeile 5 – if humidity is not None and temperature is not None:

Wenn die Variablen „humidity“ und „temperature“  NICHT den Wert „None“ hat dann.
Der Wert „None“ ist ein DatenTyp welcher den Zustand „null“ repräsentiert, d.h. der Wert ist nicht also nicht „0“.

Zeile 6 – print(‚Temperatur={0:0.1f}*C Luftfeuchtigkeit={1:0.1f}%‘.format(temperature, humidity))

Wenn Werte empfangen wurden dann werden diese Formatiert auf der Kommandozeile ausgegeben.

Zeile 7 – else:

Wenn keine Daten empfangen wurden, also wenn eine der Variablen „humiduty“ und / oder „temperature“ den Wert „None“ hat dann…

Zeile 8 – print(‚Fehler beim empfangen der Daten. Bitte versuche es erneut!‘)

Ausgabe einer Fehlermeldung auf der Kommandozeile.

Ausgabe auf der Kommandozeile

Wir können nun das Skript mit dem Befehl

sudo python3 dht11_test.py

starten und erhalten nachfolgende Ausgabe.

Raspberry PI - Ausgabe der Werte des DHT11 Sensors auf der Kommandozeile
Raspberry PI – Ausgabe der Werte des DHT11 Sensors auf der Kommandozeile

Download

Hier nun das fertige Pythonskript zum download.

Raspberry PI Tutorial #4: DHT11 Sensor ansteuern (Teil1)Herunterladen

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
x
x