Raspberry Pi Pico: Digitales Thermometer mit Display

Ein Digitales Thermometer mit dem Raspberry Pi Pico und einem Display klingt nach einem spannenden Projekt. Und eigentlich ist das auch keine große Geschichte. Denn es braucht nur ein paar Bauteile.

Als Temperatursensor verwenden wir den integrierten Sensor auf dem Pico-Board. Entsprechend greifen wir auf dessen Programmierung zurück. Die Grundlagen der Temperaturmessung mit dem Raspberry Pi Pico solltest Du grob verstanden haben.

Als Anzeige verwenden wir ein LCD-1602-Display mit I2C-Modul. Dreh- und Angelpunkt der softwareseitigen Ansteuerung des Displays mit der I2C-Schnittstelle sind zwei Python-Bibliotheken. Eine für den I2C und das andere für das Display selber.
Wenn Du noch keine Erfahrung mit der I2C-Schnittstelle und einem LCD-1602-Display gemacht hast, dann empfiehlt es sich, das Display zuerst zu testen und auszuprobieren.

Eine Besonderheit ist hierbei zu berücksichtigen. Das verwendete LCD-1602-Display kann standardmäßig nur ASCII-Zeichen darstellen. Das Grad-Zeichen von „°C“ ist im ASCII-Zeichensatz nicht enthalten. Das muss im Programmcode gesondert berücksichtig werden.

Zusammenfassung

  • Die Temperatur-Messung erfolgt mit dem integrierten Temperatursensor des Raspberry Pi Pico.
  • Die Temperatur-Anzeige erfolgt auf einem LCD-1602-Display mit I2C-Modul.
  • Besonderheit: Das Display muss ein Zeichen außerhalb des ASCII-Zeichensatzes darstellen.

Aufbau und Bauteile

Raspberry Pi Pico mit LCD 1602 Display mit I2C-Modul

  1. Verbinde zuerst den Raspberry Pi Pico mit dem USB vom Host-Computer.
  2. Verbinde dann das Display mit VCC (Pin 40) und GND (z. B. (Pin 38) vom Raspberry Pi Pico.
  3. Wenn das Display mit VCC und GND verbunden ist, sollte es angehen. Angezeigt wird aber noch nichts.
  4. Wenn das Display mit Strom versorgt ist, dann verbinde das Display mit I2C0 SDA (GPIO20, Pin 26) und I2C0 SDL (GPIO21, Pin 27) vom Raspberry Pi Pico.

Hinweis: Warum wählen wir gerade Pin 26 und 27? Diese Pins haben nur den I2C als Doppelbelegung. Man kommt nicht mit SPI, ADC oder UART in Konflikt.

Schnell und einfach alle Bauteile zusammen bestellen

Programmcode für I2C und das Display

Um das Display über die I2C-Schnittstelle softwareseitig ansteuern zu können, sind zwei Python-Bibliotheken erforderlich.

Programmcode für das digitale Thermometer

Dreh- und Angelpunkt der softwareseitigen Ansteuerung des 1602-Displays mit der I2C-Schnittstelle sind zwei Python-Bibliotheken. Eine für den I2C und das andere für das Display selber. Die beiden folgenden Dateien müssen heruntergeladen und auf dem Pico gespeichert werden:

Damit hast Du die softwareseitigen Voraussetzungen zur Ansteuerungen des Displays erfüllt.

Der folgende Programmcode ist denkbar einfach. Zuerst werden die Bibliotheken eingebunden, die für die Ansteuerung wichtig sind. Anschließend werden die GPIO-Pins für I2C, das Display und der ADC des Temperatursensors initialisiert. Innerhalb einer Schleife wird der Sensor abgefragt und die Temperatur auf dem Display ausgegeben.

# Bibliotheken laden
from time import sleep
from machine import I2C, Pin, ADC
from machine_i2c_lcd import I2cLcd
 
# Initialisierung I2C
i2c = I2C(0, sda=Pin(20), scl=Pin(21), freq=100000)

# Initialisierung LCD über I2C
lcd = I2cLcd(i2c, 0x27, 2, 16)

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

# Wiederholung (Endlos-Schleife)
while True:
    # Spannung messen und in Temperatur umrechnen
    read = sensor_temp.read_u16()
    spannung = read * conversion_factor
    temperatur = 27 - (spannung - 0.706) / 0.001721
    # Display-Zeilen ausgeben
    lcd.clear()
    lcd.move_to(0,0)
    lcd.putstr('Temperatur:' + "\n" + str("%.1f" % temperatur) + " \337C")
    sleep(10)

Darf es etwas mehr sein?

Eigentlich hat dieser Aufbau alles, was einen autarken Betrieb des Raspberry Pi Pico ausmacht. Wenn der Programmcode fehlerfrei läuft, dann kannst Du ihn auch mit dem Dateinamen „main.py“ speichern. Die Datei wird dann automatisch gestartet.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

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

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren