Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Vervollständigen Sie die Schaltung
- Schritt 2: Codierung
- Schritt 3: Andere Funktionen
Video: Grundlagen des MPU6050-Beschleunigungsmessers + Gyroskopsensors - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Der MPU6050 ist ein sehr nützlicher Sensor.
Die mpu 6050 ist eine IMU: Eine Trägheitsmesseinheit (IMU) ist ein elektronisches Gerät, das die spezifische Kraft, die Winkelgeschwindigkeit und manchmal die Ausrichtung des Körpers eines Körpers misst und meldet, wobei eine Kombination aus Beschleunigungsmessern und Gyroskopen verwendet wird.
Es ist ein 6-Achsen-Gerät
3 der Achse können die Beschleunigung messen und die anderen 3 sind für Winkelbeschleunigungsmessungen.
Mit der Beschleunigung und Winkelbeschleunigung ist es möglich, den Winkel ziemlich genau abzuschätzen
In diesem Tutorial werden wir untersuchen, wie wir den MPU6050 mit einer Bibliothek verwenden können, um die Dinge viel einfacher zu machen.
Lieferungen
- Arduino-Board
- MPU6050
- Überbrückungsdrähte
- Steckbrett
Schritt 1: Vervollständigen Sie die Schaltung
Der Sensor verwendet ein Protokoll, das als I2c bekannt ist, um mit dem Arduino zu kommunizieren, um ihm die Werte zu senden.
Der A4-Pin wird für den SCL-Serial Clock verwendet und sollte mit dem SCL des Sensors verbunden werden und, A5 an SDA-serielle Datenleitung.
Der Vcc ist mit 5V verbunden und der Gnd ist mit Masse verbunden
Schritt 2: Codierung
#einschließen #einschließen
Bevor ich anfange, diese Bibliothek wurde nicht von mir geschrieben, ich denke nur, dass sie die einfachste ist und ich liebe es, sie zu verwenden.
Dies sind die Header-Dateien ^^, wire.h wird verwendet, um eine i2c-Kommunikation aufzubauen
MPU6050 mpu6050 (Draht);
hier benennen wir unser Gyroskop oder erstellen ein Objekt für diejenigen, die mit OOPs vertraut sind.
Leere Einrichtung () {
Serial.begin (9600); Wire.begin(); mpu6050.begin(); mpu6050.calcGyroOffsets(true); }
Zunächst berechnen wir Offsets, da alle Winkelmessungen in Bezug auf die anfängliche Ausrichtung erfolgen.
Leere Schleife () {
mpu6050.update(); Serial.print("angleX:"); Serial.print (mpu6050.getAngleX()); Serial.print("\tangleY:"); Serial.print (mpu6050.getAngleY()); Serial.print("\tangleZ:"); Serial.println (mpu6050.getAngleZ()); }
Jeder gibt uns das Maß des Winkels.
Schritt 3: Andere Funktionen
Die Bibliothek enthält weitere Funktionen
mögen:
mpu6050.getTemp() // gibt die Temperatur an (nicht sehr genau)
mpu6050.getAccX() // Lineare Beschleunigung in X-Richtung
(Ähnliche Funktionen sind mpu6050.getAccY(), mpu6050.getAccZ())
mpu6050.getGyroX()//Winkelbeschleunigung um die x-Achse
(Ähnliche Funktionen sind mpu6050.getGyroY(), mpu6050.getGyroZ())