Raspberry Pi Pico: Temperatur messen mit MPU-6050
Die Temperatur messen ist eine beliebte Mikrocontroller-Anwendung. Das hat durchaus auch eine praktische Relevanz. Es gibt viele Anwendungen, bei denen Motoren, Pumpen, Heizungen und Lüfter temperaturabhängig geschaltet werden.
Der MPU-6050 ist eigentlich ein Sensor, der Gyroskop- und Beschleunigungsdaten liefert. Er wird in der Regel dazu verwendet, um die Position und Bewegung von Objekten zu erfassen. Der MPU-6050 enthält aber auch einen Temperatursensor. Im folgenden Aufbau wollen wir die Temperatur mit einem MPU-6050 messen und anzeigen.
Aufbau und Bauteile
Raspberry Pi Pico | MPU-6050 | |
---|---|---|
Pin 38 | GND | GND |
Pin 36 | VCC +3,3V | VCC |
Pin 27 | GPIO 21 | SCL |
Pin 26 | GPIO 20 | SDA |
Hinweis: Man sollte beachten, dass das MPU-6050-Modul nur an einer Seite eine Steckleiste hat. Wenn man es auf einem Steckbrett befestigt, dann besteht die Gefahr, dass es schief steckt. Dadurch können die Werte des Beschleunigungssensors von den erwarteten Werten abweichen.
MicroPython-Bibliothek für MPU-6050
Damit der MPU-6050 programmiert werden kann, müssen zwei externe Bibliotheken auf dem Raspberry Pi Pico geladen und im Verzeichnis lib gespeichert werden.
- Download: https://github.com/micropython-IMU/micropython-mpu9x50/blob/master/imu.py unter /lib/imu.py speichern
- Download: https://github.com/micropython-IMU/micropython-mpu9x50/blob/master/vector3d.py unter /lib/vector3d.py speichern
I2C verbinden und programmieren
- Raspberry Pi Pico: Grundlagen zum I2C
- Raspberry Pi Pico: I2C verbinden und programmieren
- Raspberry Pi Pico: Troubleshooting I2C - Fehler, Probleme und Lösungen
Schnell und einfach alle Bauteile zusammen bestellen
Programmcode
Der MPU-6050 enthält einen Temperatursensor, der die Temperatur in Grad Celsius ausgibt.
# Bibliotheken laden import machine import time from imu import MPU6050 # I2C-Pins i2c_sda = machine.Pin(20) i2c_scl = machine.Pin(21) # Initialisierung I2C i2c = machine.I2C(0, sda=i2c_sda, scl=i2c_scl, freq=100000) # Initialisierung MPU-6050 imu = MPU6050(i2c) time.sleep(2) # Warten bis Initialisierung fertig ist # Wiederholung (Endlos-Schleife) while True: # Messwert für die Temperatur temp = round(imu.temperature, 1) # Werte anzeigen print('Temperatur:', temp, '°C', end = "\r") time.sleep(3)
Beispielhafte Datenausgabe:
Temperatur: 22.1 °C
Zum Testen des Programmcodes kann man den MPU-6050 anhauchen. Da der Atem in der Regel wärmer ist als die Umgebungstemperatur, sollte der Wert der Temperatur steigen und danach wieder absinken.
Weitere verwandte Themen:
- Raspberry Pi Pico: Temperatur messen
- Raspberry Pi Pico: Temperatur messen mit dem DHT11
- Raspberry Pi Pico: Temperatur messen mit dem DHT22/AM2302
- Raspberry Pi Pico: Temperatur messen mit dem DS18B20
- Raspberry Pi Pico: Temperatursensoren DHT11, DHT22 und DS18B20 vergleichen
Frag Elektronik-Kompendium.de
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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: 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.
Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.