Inhaltsverzeichnis:

Winkelmesser: 3 Schritte
Winkelmesser: 3 Schritte

Video: Winkelmesser: 3 Schritte

Video: Winkelmesser: 3 Schritte
Video: Der Winkelmesser gehört in jede Werkstatt! 2024, Juli
Anonim
Winkelmesser
Winkelmesser

In diesem anweisbaren werde ich mit Ihnen Leuten eine Möglichkeit teilen, Winkel von MPU6050 mit Himbeer-Pi mit Python zu holen. Ich schreibe diesen Artikel, weil ich im Internet keine finden konnte, die uns dazu führt, MPU6050 zu verwenden, um den Winkel mit Himbeer-Pi mit Python zu finden. Wir verwenden Kalman-Filter, einen Fusionsalgorithmus, der in Apollo-Missionen verwendet wurde (kein Scherz). Vielen Dank an TJK für die Erklärung eines so komplexen Algorithmus, damit Dummies mit wenig und anständigen Kenntnissen in Mathematik (wie ich) die Funktionsweise des Kalman-Filters verstehen können. Wenn Sie interessiert sind, gehen Sie durch seinen Blog TJKs Blog, der kalman-filter erklärt

Er hat seinen Algorithmus in C++ implementiert. Ich kann die Python-Implementierung dieses Algorithmus nirgendwo im Internet finden. Also dachte ich, ich würde eine Python-Implementierung seines Algorithmus erstellen, damit Python-Benutzer ihn verwenden können, um den Winkel mit Himbeer-Pi zu finden.

Cool. Lass uns anfangen.

Schritt 1: Appratus erforderlich:)

  1. Raspberry Pi und seine Abhängigkeiten (Mittel zum Anzeigen, Stromquelle und Sie wissen, was sonst noch benötigt wird)
  2. MPU6050 (offensichtlich)
  3. Jumper - (weiblich zu weiblich - hängt von Ihrem MPU6050-Modul ab)

Schritt 2: Lassen Sie uns Em 'Connected

Lassen Sie uns Em 'Connected
Lassen Sie uns Em 'Connected
Lassen Sie uns Em 'Connected
Lassen Sie uns Em 'Connected

Protokoll:

Falls Sie es nicht wissen, verwendet MPU6050 ein Kommunikationsprotokoll namens I2C (ausgesprochen I zum Quadrat C). Es ist sehr leistungsstark - es werden nur zwei Drähte für SDA und SCL benötigt und die maximale Anzahl der Geräte, die in demselben verwendet werden können, ist durch die Hardwarebeschränkungen begrenzt (Sie sollten mindestens 128 Geräte anschließen können). In unserem Fall fungiert Raspberry Pi als Master und die MPU6050 als Slave.

Wenn Sie daran interessiert sind, die Funktionsweise von I2C zu erlernen, ist es hier.

In Ordung. Lass uns zur Arbeit gehen.

Lassen Sie uns sie verbinden:

Verbindungen sind ziemlich einfach.

MPU6050 ---------- Raspberry Pi

VCC ---------- 5V (Pins 2 oder 4)

GND ----------- GND (Pin 6)

SDA ----------- SDA (Pin 5)

SCL ---------- SCL (Pin 3)

Wenn Sie die Pin-Konfiguration des Himbeer-Pi nicht kennen, können Sie es googeln. Die Pinbelegung des Raspberry Pi 3 finden Sie hier.

Sie können auch einen Blick auf den Anschlussplan werfen und sich selbst helfen. (Im Diagramm ist GND des MPU6050 mit dem 34. Pin von Himbeer-Pi verbunden. Das ist auch Masse-Pin. Lassen Sie sich also nicht verwirren.)

Schritt 3: Lass uns Em arbeiten

Laden Sie den Code herunter:

Sie können den Code von diesem Git-Hub-Link herunterladen oder kopieren. Ich würde das Herunterladen dem Kopieren vorziehen, da Python manchmal "inkonsistente Verwendung von Tabulatoren und Leerzeichen in der Einrückung" auslöst, wenn Sie den Code kopieren und einfügen. Warum das so ist, erfahren Sie hier.

Führen Sie das Programm aus:

Nachdem Sie den Code kopiert haben, öffnen Sie AngleOMeter.py und führen Sie es aus. Stellen Sie sicher, dass Sie beide Dateien AngleOMeter.py und Kalman.py kopieren und sie sich im selben Ordner (Verzeichnis) befinden. Sie sind bereit zu gehen. Neigen Sie das MPU6050-Modul und der Winkel im Bildschirm sollte sich ändern.

Viel Spaß beim Machen!

Empfohlen: