2.34 MPU6050-Modul

Überblick

In dieser Lektion lernen Sie, wie Sie MPU6050 verwenden. MPU-6050 ist ein 6-Achsen-Bewegungsverfolgungsgerät (kombiniert aus 3-Achsen-Gyroskop und 3-Achsen-Beschleunigungsmesser). Es wird häufig für Augmented Reality und elektronische Bildstabilisierung (EIS: Electronic Image Stabilization), optische Bildstabilisierung (OIS: Optical Image Stabilization) und „Zero Touch“-Gesten-Benutzeroberfläche verwendet.

Erforderliche Komponenten

../_images/Part_two_34.png

Fritzing-Schaltung

In dieser Lektion lernen Sie, wie Sie MPU6050 verwenden. MPU-6050 ist ein 6-Achsen-Bewegungsverfolgungsgerät (kombiniert aus 3-Achsen-Gyroskop und 3-Achsen-Beschleunigungsmesser). Es wird häufig für Augmented Reality und elektronische Bildstabilisierung (EIS: Electronic Image Stabilization), optische Bildstabilisierung (OIS: Optical Image Stabilization) und „Zero Touch“-Gesten-Benutzeroberfläche verwendet.

../_images/image253.png

Schematische Darstellung

../_images/image254.png

Code

Bemerkung

  • Sie können die Datei 2.34_MPU6050.ino unter dem Pfad sunfounder_vincent_kit_for_arduino\code\2.34_MPU6050 direkt öffnen.

  • Oder kopieren Sie diesen Code in Arduino IDE.

Nachdem Sie die Codes auf das Mega2560-Board hochgeladen haben, können Sie den seriellen Monitor öffnen, um die Schwerkraftbeschleunigung und Winkelgeschwindigkeit von MPU6050 in jeder Richtung zu sehen.

Code-Analyse

Im stationären Desktop-Zustand beträgt die Beschleunigung der Z-Achse 1 Gravitationseinheit und die X- und Y-Achse sind 0.

Vor der Verwendung müssen Sie das Modul kalibrieren, die Methoden sind wie folgt:

  1. MPU6050-Module werden horizontal auf dem Schreibtisch platziert und können dann mit Klemmen oder Klebeband befestigt werden.

  2. Führen Sie die Beispielcodes aus, um die ROHDATEN von MPU6050 zu erhalten, wenn es statisch ist.

  3. Fügen Sie eine Kompensation gemäß den Messwerten hinzu, wenn MPU6050 statisch ist.

Nehmen Sie die MPU6050, die wir als Beispiel verwenden, und die Ergebnisse der Kompensation sind wie folgt:

Serial.print(AcX / 65536  * ACCELE_RANGE - 0.02);
Serial.print(AcY / 65536  * ACCELE_RANGE + 0);
Serial.print(AcZ/65536  * ACCELE_RANGE + 0.02);
Serial.print(GyX / 65536  * GYROSC_RANGE + 1.70);
Serial.print(GyY/65536  * GYROSC_RANGE - 1.70);
Serial.print(GyZ/65536*GYROSC_RANGE + 0.25);
../_images/Part_two_34_Code_Analysis.png

Phänomen Bild

../_images/image257.jpeg