Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauche gemeinsam mit anderen Technikbegeisterten tiefer in die Welt von Raspberry Pi, Arduino und ESP32 ein.
Warum beitreten?
Expertenhilfe: Erhalte Unterstützung bei Problemen nach dem Kauf und technischen Herausforderungen durch unsere Community und unser Team.
Lernen & Teilen: Tausche Tipps und Anleitungen aus, um deine Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalte frühzeitigen Zugang zu neuen Produktankündigungen und Einblicken.
Sonderrabatte: Profitiere von exklusiven Rabatten auf unsere neuesten Produkte.
Festliche Aktionen & Verlosungen: Nimm an Gewinnspielen und saisonalen Aktionen teil.
👉 Bereit, mit uns zu entdecken und zu entwickeln? Klicke auf [hier] und tritt noch heute bei!
6.2 Temperatur und Luftfeuchtigkeit mit dem DHT11 messen
In dieser Lektion lernen wir, wie man den DHT11 Temperatur- und Feuchtigkeitssensor mit dem Raspberry Pi Pico 2 W verwendet. Der DHT11 ist ein einfacher, kostengünstiger digitaler Sensor, der die Umgebungstemperatur und -feuchtigkeit misst und ein kalibriertes digitales Ausgangssignal liefert.

Benötigte Komponenten
Für dieses Projekt werden folgende Bauteile benötigt:
Ein Komplett-Kit ist besonders praktisch – hier ist der Link:
Name |
ENTHALTENE TEILE |
LINK |
|---|---|---|
Pico 2 W Starter Kit |
450+ |
Du kannst die Komponenten auch einzeln über die folgenden Links erwerben:
SN |
KOMPONENTE |
MENGE |
LINK |
|---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 |
Funktionsweise des DHT11-Sensors
Der DHT11 verwendet einen kapazitiven Feuchtigkeitssensor und einen Thermistor, um die Umgebungsluft zu messen. Er gibt ein digitales Signal über den Datenpin aus. Die Nutzung ist relativ einfach, allerdings erfordert das Auslesen eine präzise Zeitsteuerung.
Temperaturbereich: 0–50 °C mit ±2 °C Genauigkeit
Luftfeuchtigkeitsbereich: 20–80 % r.F. mit ±5 % Genauigkeit
Abtastrate: 1 Hz (einmal pro Sekunde)
Schaltplan

Verdrahtung

Code schreiben
Wir schreiben ein MicroPython-Programm, um Temperatur- und Feuchtigkeitswerte vom DHT11 auszulesen.
Bemerkung
Öffne die Datei
6.2_temperature_humidity.pyauspico-2w-kit-main/micropythonoder kopiere den Code in Thonny und klicke auf „Run“ bzw. drücke F5.Stelle sicher, dass der richtige Interpreter ausgewählt ist: MicroPython (Raspberry Pi Pico) COMxx.
Du benötigst die Bibliothek
dht.py– prüfe, ob sie auf den Pico hochgeladen wurde. Eine detaillierte Anleitung findest du unter 1.4 Bibliotheken auf den Pico hochladen.
from machine import Pin
import utime
import dht
# DHT11-Sensor initialisieren
sensor = dht.DHT11(Pin(16))
while True:
try:
# Messung auslösen
sensor.measure()
# Werte auslesen
temperature = sensor.temperature # In Grad Celsius
humidity = sensor.humidity # In Prozent
# Werte ausgeben
print("Temperature: {}°C Humidity: {}%".format(temperature, humidity))
except OSError as e:
print("Failed to read sensor.")
# Warten bis zur nächsten Messung
utime.sleep(2)
Sobald der Code läuft, werden die Temperatur- und Feuchtigkeitswerte in der Thonny-Shell angezeigt.
Temperature: 29.3°C Humidity: 60.0%
Temperature: 29.2°C Humidity: 60.0%
Temperature: 29.2°C Humidity: 60.0%
Temperature: 29.1°C Humidity: 60.0%
Temperature: 29.2°C Humidity: 60.0%
Temperature: 29.3°C Humidity: 60.0%
Den Code verstehen
Module importieren:
machine.Pin: Zur Steuerung der GPIO-Pins.utime: Enthält zeitbezogene Funktionen.dht: Bibliothek für DHT-Sensoren.
Sensor initialisieren:
sensor = dht.DHT11(Pin(16)) Erstellt eine Instanz des DHT11-Sensors an Pin GP16.
Hauptschleife:
sensor.measure(): Startet eine neue Messung.sensor.temperature: Liest die Temperatur in Grad Celsius.sensor.humidity: Liest die relative Luftfeuchtigkeit in Prozent.Exception Handling: Fängt mögliche Lesefehler ab.utime.sleep(2): Wartet 2 Sekunden bis zur nächsten Messung.
while True: try: sensor.measure() temperature = sensor.temperature humidity = sensor.humidity print("Temperature: {}°C Humidity: {}%".format(temperature, humidity)) except OSError as e: print("Failed to read sensor.") utime.sleep(2)
Weitere Experimente
Temperatur in Fahrenheit umrechnen:
temperature_f = temperature * 9 / 5 + 32 print("Temperature: {}°F Humidity: {}%".format(temperature_f, humidity))
Werte auf einem LCD anzeigen:
Integriere ein LCD-Display, um die Werte ohne PC anzuzeigen.
Warnungen einrichten:
Verwende eine LED oder einen Summer, um bei zu hoher Temperatur oder Luftfeuchtigkeit eine Warnung auszugeben.
Fehlersuche
Falsche Messwerte:
Stelle sicher, dass der Sensor korrekt angeschlossen ist.
Überprüfe auf lockere oder fehlerhafte Verbindungen.
Sensor lässt sich nicht auslesen:
Kann gelegentlich durch Timing-Probleme auftreten – der Code nutzt try-except, um solche Fehler abzufangen.
Pull-Up-Widerstand:
Falls der Sensor nicht funktioniert, überprüfe, ob ein Pull-Up-Widerstand zwischen VCC und Datenleitung vorhanden ist, sofern dein Sensor dies benötigt.
Fazit
In dieser Lektion hast du gelernt, wie man den DHT11 Temperatur- und Feuchtigkeitssensor mit dem Raspberry Pi Pico 2 verwendet. Die Überwachung von Umgebungsbedingungen ist ein grundlegender Bestandteil vieler Projekte – von Wetterstationen bis hin zu Hausautomatisierungssystemen.