Raspberry Pi Pico: Temperatur messen mit dem DS18B20

Temperatur messen ist eine beliebte Mikrocontroller-Anwendung. Das hat durchaus auch praktische Relevanz. Es gibt viele Anwendungen, bei denen Motoren, Pumpen, Heizungen und Lüfter temperaturabhängig geschaltet werden.

Der DS18B20 ist ein digitaler Temperatursensor mit einem vergleichsweise großen Messbereich bei ziemlich guter Genauigkeit. Außerdem existiert er in verschiedenen Bauweisen. Zum Beispiel zum Messen der Temperatur im Außenbereich oder in Flüssigkeiten. Im Vergleich dazu sind die ebenfalls beliebten DHT11 und DHT22 die reinsten Schätzkeulen und nur zum Messen in Innenräumen geeignet.
Im folgenden Aufbau wollen wir die Temperatur mit einem DS18B20 messen und anzeigen.

Die Ansteuerung des DS18B20 erfolgt über One-Wire. In MicroPython wird sowohl One-Wire und DS18B20 unterstützt.

Aufbau und Bauteile

Raspberry Pi Pico: Temperatur messen mit dem DS18B20

Raspberry Pi Pico DS18B20
Pin 36 3V3 +3,3V 3 (VCC)
Pin 21 GPIO 16 2 (Data)
Pin 23 GND 1 (GND)

Hinweis zum Pullup-Widerstand: Es wird empfohlen einen Pullup-Widerstand mit einem Wert von 4,7 kOhm (4K7) zwischen Data (3) und VCC (2) zu schalten. Wenn Du keinen Widerstand hast, dann kannst Du den auch weglassen. Achte dann aber darauf, dass die Leitungslänge möglichst kurz ist. Wenn Du keinen 4,7 kOhm Widerstand hast, dann wird es auch mit einem anderen Wert zwischen 1 kOhm oder 10 kOhm funktionieren.
Für einen störungsfreien Betrieb sollte der Widerstand vorhanden sein.

Programmcode für MicroPython

Dank der direkten Unterstützung von OneWire und des DS18B20 in MicroPython für den Raspberry Pi Pico ist die Integration in einem Programmcode ein Kinderspiel.

# Bibliotheken laden
from machine import Pin
from onewire import OneWire
from ds18x20 import DS18X20
from utime import sleep, sleep_ms

# Initialisierung GPIO, OneWire und DS18B20
one_wire_bus = Pin(16)
sensor_ds = DS18X20(OneWire(one_wire_bus))

# One-Wire-Geräte ermitteln
devices = sensor_ds.scan()
#print(devices)

while True:
    # Temperatur messen
    sensor_ds.convert_temp()
    # Warten: min. 750 ms
    sleep_ms(750)
    # Sensoren abfragen
    for device in devices:
        print('Sensor:', device)
        print('Temperatur:', sensor_ds.read_temp(device), '°C')
    print()
    sleep(3)

Programmcode für MMBasic

PRINT "Temperatur:" TEMPR(GP16)

Darf es ein bisschen mehr sein?

Wir haben hier bereits erwähnt, dass DHT11 und DHT22 nicht so leistungsfähig und flexibel sind wie ein DS18B20. Wie wäre es, einfach mal mehrere Temperatursensoren miteinander zu vergleichen, um herauszufinden wie gut oder wie schlecht die tatsächlich messen?

Weitere verwandte Themen:

Teilen:

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Hardware-nahes Programmieren mit dem Raspberry Pi Pico

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen