🛰️ Aufgabe: MPU6050 verstehen und auslesen
In dieser ersten Aufgabe lernst du den MPU6050 Bewegungssensor kennen – den "Gleichgewichtssinn" deines Shuttles für Lage und Bewegung. Er erkennt, wie dein Shuttle geneigt oder beschleunigt wird – ähnlich wie die Sensoren in einem Smartphone oder einer Drohne.
🧠 Ziel
- Du verstehst, wie der MPU6050 über den I²C-Bus kommuniziert.
- Du kannst seine Sensordaten auslesen.
- Du beobachtest, wie sich die Messwerte beim Bewegen des Shuttles verändern.
⚙️ Hintergrund
Der MPU6050 enthält zwei Sensoren:
| Sensor | Aufgabe |
|---|---|
| Beschleunigungssensor | Misst Bewegung entlang der Achsen X, Y, Z |
| Gyroskop | Misst Drehgeschwindigkeit um die Achsen |
Die Kommunikation läuft über I²C (Inter-Integrated Circuit). Dabei gibt es immer einen Master (hier: Arduino) und einen Slave (hier: MPU6050). Beide sind über zwei Leitungen verbunden:
- 🟢 SDA – Datensignal
- 🟡 SCL – Taktsignal
Der Arduino fragt regelmäßig Werte vom Sensor ab.
🧪 Code: Sensor auslesen
#include <Wire.h>
#include <MPU6050_tockn.h>
MPU6050 mpu(Wire);
void setup() {
Serial.begin(9600);
Wire.begin();
mpu.begin();
mpu.calcGyroOffsets(true); // Kalibrierung beim Start
}
void loop() {
mpu.update();
Serial.print("Acc X: "); Serial.print(mpu.getAccX());
Serial.print(" | Acc Y: "); Serial.print(mpu.getAccY());
Serial.print(" | Acc Z: "); Serial.println(mpu.getAccZ());
delay(200);
}
🔍 Erklärung zum Code
Wire.begin()aktiviert die I²C-Kommunikation.mpu.begin()startet den Sensor.mpu.calcGyroOffsets(true)kalibriert das Gyroskop – halte das Shuttle dabei ruhig.mpu.update()liest aktuelle Werte vom Sensor ein.- Über den Serial Monitor kannst du die Messwerte in Echtzeit sehen.
🧩 Aufgabe
Bewege dein Shuttle vorsichtig in verschiedene Richtungen:
- Kippe es nach vorne, hinten, links oder rechts
- Beobachte, wie sich die Werte von Acc X, Acc Y und Acc Z verändern
- Was passiert, wenn du das Shuttle umdrehst oder schüttelst?
Notiere deine Beobachtungen – das hilft dir, die Sensorachsen zu verstehen.
✅ Checkliste
- Sensor wurde korrekt erkannt und initialisiert
- Werte erscheinen im Serial Monitor
- Du kannst erkennen, welche Achse auf welche Bewegung reagiert
- Du verstehst den Unterschied zwischen Beschleunigung und Lage