Az MPU6050 gyorsulásmérő és a giroszkóp használata az Arduino -val

How to Use the MPU6050 Accelerometer and Gyroscope with Arduino

Az MPU6050 egy sokoldalú és megfizethető érzékelő, amely a 3 tengelyes gyorsulásmérőt és a 3 tengelyes giroszkópot egyetlen csomagba egyesíti. Az I2C interfészen keresztül kommunikál, és tökéletes a mozgáskövetéshez, a robotok kiegyensúlyozásához és a gesztus alapú vezérlőkhöz. Ez az oktatóanyag megmutatja, hogyan lehet az MPU6050 -et egy Arduino -val összekapcsolni.

Mire lesz szüksége

  1. MPU6050 modul
  2. Arduino Board (például Uno, Mega, Nano)
  3. Kenyér
  4. Jumper vezetékek
  5. Egy számítógép, amelyen az Arduino IDE telepített

1. lépés: Az MPU6050 huzalozása Arduino -ra

Az MPU6050 az I2C protokollt használja, csak két adatvonalat igényel: SDA (adatok) és SCL (óra). Itt vannak a tipikus kapcsolatok:

MPU6050 PIN Arduino Uno Pin
VCC 5 V -os
GND GND
SDA A4 (SDA)
SCL A5 (SCL)

Jegyzet: Ellenőrizze az Arduino tábla I2C pinout -ját, ha más modellt használ.

2. lépés: Telepítse az MPU6050 könyvtárat

Az MPU6050 -hez való kapcsolódás megkönnyítése érdekében az "MPU6050" könyvtárat fogjuk használni.

  1. Nyissa meg az Arduino IDE -t.
  2. Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
  3. A könyvtári menedzserben keresse meg az "MPU6050 elektronikus macskák" oldalt.
  4. Válassza ki a könyvtárat, majd kattintson Beilleszt.

3. lépés: Töltse fel a kódot

Íme egy alapvető példa a gyorsulásmérő és a giroszkópos adatok olvasására az MPU6050 -ből:

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

void setup() {
  Serial.begin(9600);
  Wire.begin();

  Serial.println("Initializing MPU6050...");
  if (!mpu.begin()) {
    Serial.println("Failed to find MPU6050 sensor!");
    while (1) {
      delay(10);
    }
  }
  Serial.println("MPU6050 Initialized.");
}

void loop() {
  mpu.update();

  Serial.print("Accel X: ");
  Serial.print(mpu.getAccX());
  Serial.print(" | Accel Y: ");
  Serial.print(mpu.getAccY());
  Serial.print(" | Accel Z: ");
  Serial.println(mpu.getAccZ());

  Serial.print("Gyro X: ");
  Serial.print(mpu.getGyroX());
  Serial.print(" | Gyro Y: ");
  Serial.print(mpu.getGyroY());
  Serial.print(" | Gyro Z: ");
  Serial.println(mpu.getGyroZ());

  delay(500);  // Update every 500ms
}

4. lépés: Tesztelje a beállítást

  1. Csatlakoztassa az Arduino -t a számítógéphez USB -kábel segítségével.
  2. Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
  3. Töltse fel a kódot kattintással Feltöltés gomb.
  4. Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet 9600.
  5. Megjelenik az élő gyorsulásmérő és a giroszkóp leolvasása.

Az adatok megértése

  • Accelerométer (Accel X, Y, Z): A lineáris gyorsulást három tengelyben méri.
  • Giroszkóp (giroszkóp, y, z): A szögsebességet (forgási sebesség) három tengely körül méri.

Hibaelhárítás

  • Nem észlelt érzékelő: Ellenőrizze duplán a vezetékeket, és ellenőrizze, hogy az I2C vonalak helyesen vannak-e csatlakoztatva.
  • Nincs kimenet a soros monitoron: Ellenőrizze, hogy az adatátviteli sebesség megegyezik a kód beállításával (9600).
  • Helytelen olvasmányok: Tartsa az érzékelő szintjét az inicializálás során a sodródás megakadályozása érdekében.

Az MPU6050 alkalmazásai

  1. Kiegyensúlyozó robotok
  2. Gesztusfelismerés
  3. Mozgáskövetés a VR/AR számára
  4. Fitneszkövető eszközök

Következtetés

Gratulálok! Sikeresen összekapcsolja az MPU6050-et egy Arduino-val, és elolvasta a valós idejű mozgási adatokat. Ez az érzékelő hihetetlenül sokoldalú, és számtalan projektben is felhasználható. Próbálja meg integrálni az MPU6050-et a következő mozgás-alapú projektbe, és szabadon engedje annak lehetőségeit!

Hagyj egy megjegyzést

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.