Raspberry Pi - Temperatursensor - OLED

Diese Anleitung zeigt Ihnen, wie Sie mit dem Raspberry Pi die Temperatur von einem DS18B20 One-Wire-Sensor erfassen und diese auf einem OLED-Display anzeigen können.

Erforderliche Hardware

1×Raspberry Pi 5
1×SSD1306 I2C OLED-Display 128x64
1×SSD1306 I2C OLED-Display 128x32
1×DS18B20 Temperatursensor (MIT Adapter)
1×DS18B20 Temperatursensor (OHNE Adapter)
1×4,7 kΩ Widerstand
1×Breadboard (Steckplatine)
1×Jumper Wires (Verbindungskabel)
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.

Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Über OLED und DS18B20 Temperatursensor

Falls Sie mit OLED und DS18B20 Temperatursensor (einschließlich Pinout, Funktionsweise, Programmierung, etc.) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Schaltplan

Raspberry Pi DS18B20 Temperature Sensor OLED wiring diagram

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

Wir empfehlen den Kauf eines DS18B20 Sensors zusammen mit dem dazugehörigen Verdrahtungsadapter für eine nahtlose Installation. Dieser Adapter enthält einen integrierten Widerstand, wodurch kein zusätzlicher Widerstand in der Verdrahtung erforderlich ist.

Raspberry Pi Code - Temperatur vom DS18B20 Temperatursensor erfassen und auf OLED anzeigen

Schnellanleitung

  • Stellen Sie sicher, dass Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert ist.
  • 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 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 die RPi.GPIO Bibliothek installiert ist. Falls nicht, installieren Sie diese mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install w1thermsensor
pip install Adafruit-SSD1306
  • Erstellen Sie eine Python-Skriptdatei DS18B20_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-sensor-oled import time from w1thermsensor import W1ThermSensor import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont # Set up the DS18B20 sensor DS18B20 = W1ThermSensor() # 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 and drawing width = OLED.width height = OLED.height image = Image.new('1', (width, height)) draw = ImageDraw.Draw(image) font = ImageFont.load_default() while True: # Read temperature from DS18B20 sensor temperature = DS18B20.get_temperature() # Clear the OLED display draw.rectangle((0, 0, width, height), outline=0, fill=0) # Display temperature on OLED draw.text((5, 5), f'Temperature: {temperature:.2f} C', font=font, fill=255) # Update the OLED display OLED.image(image) 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 eingeben:
python3 DS18B20_OLED.py

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

  • Positionieren Sie den Sensor über heißem und kaltem Wasser oder halten Sie ihn in der Hand.
  • Betrachten Sie das Ergebnis auf dem OLED-Display.

※ 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!