Raspberry Pi - Temperatur-Feuchtigkeitssensor - OLED

Diese Anleitung zeigt Ihnen, wie Sie mit dem Raspberry Pi die Temperatur und Feuchtigkeit von einem DHT11/DHT22 Sensor auslesen und auf einem OLED anzeigen.

Raspberry Pi DHT11/DHT22 Temperatur Feuchtigkeit Sensor OLED Display

Benötigte Hardware

1×Raspberry Pi 5
1×SSD1306 I2C OLED-Display 128x64
1×SSD1306 I2C OLED-Display 128x32
1×DHT11 Temperatur- und Feuchtigkeitssensor
1×Jumper Wires (Überbrückungskabel)

Sie können den DHT22 Sensor anstelle des DHT11 Sensors verwenden.

1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über OLED Display, DHT11 und DHT22 Temperatur-Feuchtigkeitssensor

Falls Sie mit OLED Display, DHT11 und DHT22 Temperatur-Feuchtigkeitssensor nicht vertraut sind (einschließlich Pinbelegung, Funktionalität, Programmierung, etc.), können Ihnen die folgenden Tutorials weiterhelfen:

Schaltplan

Raspberry Pi - DHT11 Modul OLED Verkabelung

Raspberry Pi DHT11 Sensor OLED Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Raspberry Pi - DHT22 Modul OLED Verkabelung

Raspberry Pi DHT22 Sensor OLED Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Raspberry Pi Code - DHT11 Sensor - OLED

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
  • Falls Sie den Raspberry Pi zum ersten Mal verwenden, lesen Sie wie Sie den Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install Adafruit-SSD1306
  • Installieren Sie die Bibliothek für den DHT11 Temperatur- und Feuchtigkeitssensor, indem Sie folgenden Befehl ausführen:
sudo pip3 install Adafruit_DHT
  • Erstellen Sie eine Python-Skriptdatei dht11_oled.py und fügen Sie folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-temperature-humidity-sensor-oled import Adafruit_DHT import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont import time # Set up the DHT11 sensor DHT_SENSOR = Adafruit_DHT.DHT11 DHT_PIN = 20 # GPIO pin where the DHT11 sensor is connected # Set up the SSD1306 OLED display RST = None OLED = Adafruit_SSD1306.SSD1306_128_64(rst=RST) OLED.begin() OLED.clear() OLED.display() # Set up fonts font = ImageFont.load_default() while True: # Read temperature and humidity from DHT11 sensor humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN) # Clear the OLED display OLED.clear() # Display temperature and humidity on OLED OLED.draw.text((5, 5), f'Temp: {temperature:.1f} C', font=font, fill=255) OLED.draw.text((5, 20), f'Humidity: {humidity:.1f}%', font=font, fill=255) # Update the OLED display OLED.display() # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: # Clean up code before exiting the script OLED.clear() OLED.display() print("\nExiting the script.")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 dht11_oled.py

Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Strg + C im Terminal drücken.

  • Erwärmen Sie die Umgebung um den Temperatursensor oder halten Sie den Sensor in Ihrer Hand.
  • Überprüfen Sie die Ergebnisse auf dem OLED Display.

Raspberry Pi Code - DHT22 Sensor - OLED

# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-temperature-humidity-sensor-oled import Adafruit_DHT import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont import time # Set up the DHT22 sensor DHT_SENSOR = Adafruit_DHT.DHT22 DHT_PIN = 20 # GPIO pin where the DHT22 sensor is connected # Set up the SSD1306 OLED display RST = None OLED = Adafruit_SSD1306.SSD1306_128_64(rst=RST) OLED.begin() OLED.clear() OLED.display() # Set up fonts font = ImageFont.load_default() while True: # Read temperature and humidity from DHT22 sensor humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN) # Clear the OLED display OLED.clear() # Display temperature and humidity on OLED OLED.draw.text((5, 5), f'Temp: {temperature:.1f} C', font=font, fill=255) OLED.draw.text((5, 20), f'Humidity: {humidity:.1f}%', font=font, fill=255) # Update the OLED display OLED.display() # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: # Clean up code before exiting the script OLED.clear() OLED.display() print("\nExiting the script.")

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!