Raspberry Pi Pico: Temperatur messen und anzeigen

Auf der Platine des Raspberry Pi Pico ist ein Temperatursensor drauf, der sich für Temperatur-Messungen verwenden lässt. Die Temperatur lässt sich quasi messen, auslesen, auswerten und für die Steuerung und Regelung nutzen.

Die Temperatur-Messung mit dem im Pico eingebauten Temperatur-Sensor ist ein gutes Beispiel für die Komplexität und Probleme mit der Hardware-nahen Programmierung. Die naive Vorstellung einer Temperatur-Messung, dass der Temperatur-Sensor einfach die herrschende Temperatur messen kann, wenn man ihn abfragt bzw. den Wert ausliest. Diese Annahme ist grundsätzlich falsch. Das damit zusammenhängende Weltbild wird hier zum Einsturz gebracht bzw. geradegerückt.

Die Wahrheit ist, dass die eigentliche Temperaturmessung die Messung einer Spannung an einer Diode ist. Diese Diode ist mit einem ADC-Kanal verbunden. Beim Raspberry Pi Pico ist das ein ADC-Kanal, der nicht nach außen geführt ist. Intern hat der die Nummer 4 (ADC4).
Der Messwert ist also keine Temperatur, sondern eine elektrische Größe. Genauer gesagt eine Spannung, die an einem Halbleiter abfällt. Die Leitfähigkeit von Halbleitern ist temperaturabhängig, weshalb sie sich als Temperatursensor eignen. Die Messung der Temperatur findet also über einen Umweg statt.
Von der zu messenden Spannung weiß man, dass 0,706 Volt umgerechnet 27 C° betragen. Eine Abweichung von je 0,001721 V bzw. 1,721 mV entspricht jeweils einem Grad Celsius. Man muss also die Temperatur auf Basis der gemessenen Spannung ausrechnen.

Jetzt kommt noch ein Umstand hinzu. Die Spannung, die gemessen wird, wird nicht als Dezimalzahl mit Nachkommastelle ausgegeben, sondern als eine Dualzahl mit 16 Bit. Diese Dualzahl muss in eine Dezimalzahl zwischen 0 und 65.535 umgewandelt werden. Und dann muss man mit Hilfe eines Umrechnungsfaktors (Conversion-Factor) die Dezimalzahl in eine reele Zahl umrechnen (Dreisatz), die der gemessenen Spannung entspricht. Als Basis dient hier die Referenzspannung von 3,3 Volt und der entsprechende dezimale Wert von 65.535. 0 Volt wäre eine dezimale Null.

Das Auslesen des binären Werts, das Umrechnen in einen dualen Wert, der entsprechenden Spannung und dann das Umrechnen in eine Temperatur muss man also programmieren.

Da der Raspberry Pi Pico keine Anzeige hat, findet die Temperatur-Anzeige im Editor-Feld „Kommandozeile“ bzw. „Shell“ der Thonny Python IDE statt.

Aufbau und Bauteile

Raspberry Pi Pico: Externe LED blinken lassen

Der Vorteil dieses Aufbaus ist, dass außer dem Raspberry Pi Pico nichts weiter erforderlich ist.

Programmcode

Nach dem Start des Programms wird die Temperatur ermittelt. Die dazugehörigen Werte, „Dezimalzahl“, „Spannung“ und „Temperatur“ werden anzeigt.
Wichtig zu verstehen ist, dass alle drei Werte das gleiche bedeuten. Sie unterscheiden sich nur in der Darstellung.

# Bibliotheken laden
from machine import ADC
from utime import sleep

# Initialisierung des ADC4
sensor_temp = ADC(4)
conversion_factor = 3.3 / (65535)

# Wiederholung einleiten (Schleife)
while True:
    # Temparatur-Sensor als Dezimalzahl lesen
    read = sensor_temp.read_u16()
    # Dezimalzahl in eine reele Zahl umrechnen
    spannung = read * conversion_factor
    # Spannung in Temperatur umrechnen
    temperatur = 27 - (spannung - 0.706) / 0.001721
    # Ausgabe in der Kommandozeile/Shell
    print("Dezimalzahl: ", read)
    print("Spannung (V): ", spannung)
    print("Temperatur (C): ", temperatur)
    print()
    # 2 Sekunden warten
    sleep(3)

Hinweis: Den Programmcode für die Temperatur-Messung findet man in anderen Beispielen (Internet, Bücher, Zeitschriften, etc.) meist kompakter, aber auch schwerer lesbar. Wir haben hier eine Darstellung gewählt, bei der die einzelnen Umrechnungsschritte besser zu erkennen sind und leichter nachvollzogen werden können.

Experimente

Wie lässt sich die Temperatur erhöhen und senken?

  1. Eine höhere Temperatur erreichst Du dadurch, dass Du den Pico anhauchst. Die Luft aus unserem Atem hat in der Regel eine höhere Temperatur als die Umgebung.
  2. Um die Temperatur zu senken, kannst Du einfach warten und zuschauen, wie Temperatur fällt. Oder Du pustest die warme Luft am Pico weg.

Darf es ein bisschen mehr sein?

Hast Du schon einmal ausprobiert einen Taster-Zustand auszuwerten und mit einer LED anzuzeigen? Wenn noch nicht, dann mal los.

Wenn Dich Spielereien mit Tastern noch nicht reizen, dann versuche doch mal die Ansteuerung für eine Reihe von Leuchtdioden aus.

Highlights: Elektronik mit dem Raspberry Pi Pico

Elektronik mit dem Raspberry Pi

Die Stärken des Raspberry Pi liegen klar in der Computer-Architektur mit typischen Computer-Schnittstellen und Möglichkeit zum Ausführen von Open-Source-Software für Linux.

Weitere verwandte Themen:

Teilen:

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

Mehr Informationen Am Online-Workshop teilnehmen

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

Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!