Raspberry Pi - Temperatursensor

Dieses Tutorial zeigt Ihnen, wie Sie den Raspberry Pi verwenden, um die Temperatur vom wasserdichten 1-wire DS18B20 Temperatursensor zu lesen. Dieser Sensor ist kostengünstig, einfach zu verwenden und hat ein ansprechendes Aussehen.

Benötigte Hardware

1×Raspberry Pi 5
1×DS18B20 Temperatursensor (MIT Adapter)
1×DS18B20 Temperatursensor (OHNE Adapter)
1×4,7 kΩ Widerstand
1×Breadboard (Steckplatine)
1×Jumper-Kabel
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 den One Wire Temperatursensor - DS18B20

Der Temperatursensor Pinout

Der DS18B20 Temperatursensor hat drei Pins:

  • GND Pin: muss mit GND (0V) verbunden werden
  • VCC Pin: muss mit VCC (5V oder 3,3V) verbunden werden
  • DATA Pin: ist der 1-wire Datenbus und sollte mit einem digitalen Pin am Raspberry Pi verbunden werden.

Der Sensor ist typischerweise in zwei Formen erhältlich: TO-92 Gehäuse (das einem Transistor ähnelt) und als wasserdichte Sonde. Für dieses Tutorial verwenden wir die wasserdichte Sondenform.

DS18B20 temperature sensor pinout

Die Verbindung eines DS18B20 Temperatursensors mit einem Raspberry Pi erfordert einen Pull-up-Widerstand, was etwas umständlich sein kann. Glücklicherweise vereinfachen einige Hersteller den Prozess, indem sie einen Verkabelungsadapter anbieten, der einen eingebauten Pull-up-Widerstand und eine Schraubklemme enthält.

Schaltdiagramm

  • Schaltdiagramm mit einem Breadboard.
Raspberry Pi temperature sensor wiring diagram

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

  • Schaltdiagramm mit dem Verkabelungsadapter (empfohlen).
Raspberry Pi DS18B20 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 Verkabelungsadapter für eine reibungslose Installation. Dieser Adapter enthält einen integrierten Widerstand, wodurch kein zusätzlicher Widerstand in der Verkabelung erforderlich ist. Wir haben ihn ebenfalls getestet und er funktionierte gut.

Raspberry Pi Code

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 Bibliotheken installieren müssen.
  • Wenn Sie den Raspberry Pi zum ersten Mal verwenden, siehe Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den eingebauten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe PC mit Raspberry Pi über SSH verbinden.
  • Stellen Sie sicher, dass die RPi.GPIO Bibliothek installiert ist. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Bevor wir den DS18B20 Temperatursensor mit einem Raspberry Pi verwenden, müssen wir die 1-Wire Schnittstelle am Raspberry Pi aktivieren. Siehe 1-Wire Schnittstelle am Raspberry Pi aktivieren
  • Installieren Sie die Bibliothek für den DS18B20 Temperatursensor mit folgendem Befehl:
pip install w1thermsensor
  • Erstellen Sie eine Python-Skriptdatei DS18B20.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 from w1thermsensor import W1ThermSensor import time # Find the connected DS18B20 sensor def find_ds18b20_sensor(): for sensor in W1ThermSensor.get_available_sensors(): if sensor.type == W1ThermSensor.THERM_SENSOR_DS18B20: return sensor return None # Read temperature from the sensor def read_temperature(sensor): temperature_celsius = sensor.get_temperature() temperature_fahrenheit = sensor.get_temperature(W1ThermSensor.DEGREES_F) return temperature_celsius, temperature_fahrenheit # Find DS18B20 sensor ds18b20_sensor = find_ds18b20_sensor() if ds18b20_sensor is not None: print(f"DS18B20 Sensor found: {ds18b20_sensor.id}") try: while True: # Read temperature temperature_c, temperature_f = read_temperature(ds18b20_sensor) print(f"Temperature: {temperature_c:.2f}°C | {temperature_f:.2f}°F") # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: print("Program terminated by user.") else: print("DS18B20 Sensor not found.")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 sensors.py
  • Platzieren Sie den Sensor in heißes oder kaltes Wasser oder halten Sie ihn in Ihrer Hand.
  • Überprüfen Sie die Ausgabe im Terminal.
PuTTY - Raspberry Pi
Temperature: 26.31°C | 79.36°F Temperature: 26.44°C | 79.59°F Temperature: 26.50°C | 79.70°F Temperature: 26.56°C | 79.81°F Temperature: 27.06°C | 80.71°F Temperature: 27.75°C | 81.95°F Temperature: 28.37°C | 83.07°F Temperature: 29.00°C | 84.20°F Temperature: 29.56°C | 85.21°F Temperature: 30.00°C | 86.00°F Temperature: 30.31°C | 86.56°F Temperature: 30.62°C | 87.12°F Temperature: 30.87°C | 87.57°F

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

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

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