El GY-521-Modul Dank der Integration eines Beschleunigungsmessers und eines Gyroskops in einem einzigen Gerät handelt es sich um eine Komponente, die häufig in Projekten zur Messung von Bewegung und Ausrichtung eingesetzt wird. Diese Komponente ist vielseitig einsetzbar und kann in Projekten mit Entwicklungsplattformen wie Arduino verwendet werden und liefert wichtige Daten zur Beschleunigung in drei Achsen und zur Winkelgeschwindigkeit.
In diesem Artikel erhalten Sie alle Informationen, die Sie benötigen, um den GY-521 zu verstehen und mit ihm zu arbeiten, von seinen technischsten Funktionen bis hin zu Codebeispielen, die Sie mit Arduino implementieren können. Wir werden auch sehen, wie dieses Modul mit Arduino verbunden werden kann und welche Art von Daten extrahiert und in Ihren Projekten verwendet werden können.
Was ist GY-521 und wie funktioniert es?
Das GY-521-Modul basiert auf dem MPU-6050-Sensor, einem Chip, der einen dreiachsigen Beschleunigungsmesser mit einem dreiachsigen Gyroskop kombiniert. Das bedeutet, dass der GY-521 sowohl Beschleunigung als auch Winkelgeschwindigkeit in allen drei Achsen (X, Y und Z) messen kann.
Der Beschleunigungsmesser Es misst die Beschleunigung in drei Richtungen, einschließlich der Beschleunigung aufgrund von Bewegung und der Beschleunigung durch die Schwerkraft. Dies bedeutet, dass der Winkel erkannt werden kann, in dem das Gerät relativ zur Erde geneigt ist.
das Gyroskopmisst wiederum die Winkel- oder Rotationsgeschwindigkeit in drei Achsen. Auf diese Weise können Sie herausfinden, wie schnell sich etwas dreht und in welche Richtung.
Technische Eigenschaften des GY-521
Der GY-521 zeichnet sich nicht nur durch die Integration von Beschleunigungsmesser und Gyroskop aus, sondern auch durch eine Reihe technischer Merkmale, die ihn ideal für Robotikprojekte, Drohnen und andere Systeme machen, die eine präzise Bewegungsmessung erfordern.
- Betriebsspannung: Dank der Tatsache, dass das Modul selbst über einen Spannungsregler verfügt, kann es sowohl mit 3.3 V als auch mit 5 V betrieben werden.
- I2C-Anschluss: Dieses Modul kommuniziert über den I2C-Bus mit Arduino oder jeder anderen Plattform und erleichtert so den Anschluss und die Steuerung des Geräts.
- Messbereich des Beschleunigungsmessers: Der Beschleunigungsmesser kann in einem einstellbaren Bereich von ±2 g bis ±16 g messen, sodass Sie die Genauigkeit an die Anforderungen des Projekts anpassen können.
- Gyroskop-Messbereich: Wie der Beschleunigungsmesser verfügt auch das Gyroskop über verschiedene einstellbare Bereiche, nämlich ±250, ±500, ±1000 oder ±2000 Grad pro Sekunde.
Zusätzlich zu diesen Funktionen verfügt der GY-521 über eine Digital-Analog-Wandler (CAD) 16 Bit, was eine hohe Präzision bei der Umwandlung analoger Signale von den Sensoren in digitale Daten gewährleistet, die von Ihrem Arduino verarbeitet werden können.
Den GY-521 mit Arduino verbinden
Der Anschluss des GY-521-Moduls an Arduino ist dank der I2C-Schnittstelle sehr einfach. Er I2C-Bus Es verwendet zwei Pins: einen für das Datensignal (SDA) und einen anderen für das Taktsignal (SCL).
Zum Anschluss des GY-521 an eine Platine Arduino UNO:
- Verbinden Sie den Stift VCC vom Modul zum 5V-Pin des Arduino.
- Verbinden Sie den Stift GND vom Modul zum Arduino GND-Pin.
- Verbinden Sie den Stift SCL an Pin A5 von Arduino.
- Verbinden Sie den Stift SDA an Pin A4 von Arduino.
Sobald Sie den GY-521 mit dem Arduino verbunden haben, können Sie ein einfaches Codebeispiel hochladen, um mit dem Auslesen der Daten vom Beschleunigungsmesser und Gyroskop zu beginnen.
Codebeispiel zum Lesen von Daten vom GY-521 mit Arduino
Nachfolgend zeigen wir Ihnen ein einfaches Codebeispiel, um mit dem Lesen der vom Beschleunigungsmesser und Gyroskop kommenden Daten zu beginnen. Die Bibliothek wird genutzt Draht.h Dies erleichtert die Kommunikation mit I2C-Geräten wie dem GY-521.
#include
const int MPU = 0x68; // Dirección I2C del MPU-6050.
int16_t accelerometer_x, accelerometer_y, accelerometer_z;
int16_t gyro_x, gyro_y, gyro_z;
int16_t temperature;
void setup() {
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(MPU);
Wire.write(0x6B); // Registro de gestión de energía del MPU6050.
Wire.write(0); // Coloca a cero para activar el sensor.
Wire.endTransmission(true);
}
void loop() {
Wire.beginTransmission(MPU);
Wire.write(0x3B); // Comienza a leer desde el registro 0x3B (datos de aceleración).
Wire.endTransmission(false);
Wire.requestFrom(MPU, 14, true); // Solicita 14 registros del sensor.
// Leer datos de aceleración:
accelerometer_x = Wire.read() << 8 | Wire.read();
accelerometer_y = Wire.read() << 8 | Wire.read();
accelerometer_z = Wire.read() << 8 | Wire.read();
// Leer datos de giroscopio:
gyro_x = Wire.read() << 8 | Wire.read();
gyro_y = Wire.read() << 8 | Wire.read();
gyro_z = Wire.read() << 8 | Wire.read();
Serial.print("Acc: X="); Serial.print(accelerometer_x);
Serial.print(" | Y="); Serial.print(accelerometer_y);
Serial.print(" | Z="); Serial.println(accelerometer_z);
Serial.print("Gyro: X="); Serial.print(gyro_x);
Serial.print(" | Y="); Serial.print(gyro_y);
Serial.print(" | Z="); Serial.println(gyro_z);
delay(500);
}
Dieser Basiscode liest die Beschleunigungs- und Rotationsdaten auf allen drei Achsen und zeigt die Werte auf dem Arduino Serial Monitor an.
Skalierungs- und Empfindlichkeitseinstellung
Der GY-521 ermöglicht Passen Sie den Maßstab an und Empfindlichkeit sowohl des Beschleunigungsmessers als auch des Gyroskops, was nützlich ist, wenn Sie präzisere Messungen erhalten möchten oder für Projekte, bei denen Sie erwarten, abruptere Bewegungen zu erkennen.
Um die Skala des Gyroskops und des Beschleunigungsmessers zu ändern, müssen Sie die spezifischen Register der MPU-6050 ändern. So geht's:
- Beschleunigungsmesserskala: Durch Registrierung können Sie den Bereich auf ±2g, ±4g, ±8g oder ±16g einstellen ACCEL_CONFIG. Abhängig vom in dieses Register geschriebenen Wert wird der gewünschte Bereich zugewiesen.
- Gyroskop-Skala: Für das Gyroskop kann der Bereich durch Registrierung zwischen ±250, ±500, ±1000 und ±2000 Grad pro Sekunde eingestellt werden GYRO_CONFIG.
Durch diese Änderungen ändert sich die Empfindlichkeit des Sensors, sodass Sie präzisere Daten erhalten oder einen größeren Bewegungsbereich erkennen können.
Datenfilterung: Zusatzfilter
Eine der Herausforderungen bei der Arbeit mit Sensoren wie dem GY-521 besteht darin, dass die Beschleunigungs- und Gyroskopdaten oft einen gewissen Rauschpegel aufweisen. Um die Datenqualität zu verbessern, können Sie a anwenden Komplementärfilter Dabei werden beide Sensoren kombiniert, um eine genauere Schätzung der Ausrichtung des Geräts zu erhalten.
Ein Komplementärfilter verwendet Gyroskopdaten, um schnelle Orientierungsänderungen zu messen, während Beschleunigungsmesserdaten verwendet werden, um Drift zu korrigieren und eine stabilere Langzeitmessung zu erhalten.
GY-521-Anwendungen
Dank seiner Fähigkeit, Beschleunigung und Winkelgeschwindigkeit zu messen, wird der GY-521 in den unterschiedlichsten Projekten und Anwendungen eingesetzt. Zu den häufigsten gehören:
- Drohnensteuerungssysteme: Die vom Beschleunigungsmesser und Gyroskop bereitgestellten Informationen sind der Schlüssel zur Aufrechterhaltung der Stabilität im Flug.
- Robotik: Einige Roboter nutzen Beschleunigungs- und Rotationsdaten, um sich zu bewegen und Veränderungen in ihrer Umgebung zu erkennen.
- Tragbare Geräte: Sensoren wie der GY-521 werden in Geräten wie Fitnessbändern oder Smartwatches eingesetzt, um die Bewegung des Benutzers zu messen.
Dies sind nur einige Beispiele, doch den Einsatzmöglichkeiten sind bei der Messung und Interpretation von Bewegungs- und Orientierungsdaten wirklich keine Grenzen gesetzt.
Fazit: Warum Sie GY-521 für Ihre Projekte wählen sollten
Der GY-521 ist mit seiner Integration von Beschleunigungsmesser und Gyroskop auf einem einzigen Chip ein leistungsstarkes und vielseitiges Werkzeug für jedes Elektronikprojekt. Da es mit Arduino kompatibel ist und über eine I2C-Schnittstelle verfügt, lässt es sich ganz einfach in jedes System integrieren. Darüber hinaus ist es aufgrund seiner Einstellbarkeit in Bezug auf die Empfindlichkeit und der Tatsache, dass es in einer Vielzahl von Robotik-, Bewegungssteuerungs- und weiteren Projekten eingesetzt werden kann, die ideale Wahl für jeden Hersteller oder Ingenieur in der Ausbildung.
Wenn Sie auf der Suche nach einem zuverlässigen, einfach zu bedienenden Sensor mit vielfältigen Einsatzmöglichkeiten sind, sollte der GY-521 auf jeden Fall auf Ihrer Liste der unverzichtbaren Komponenten stehen.