Cum se folosește accelerometrul și giroscopul MPU6050 cu Arduino

How to Use the MPU6050 Accelerometer and Gyroscope with Arduino

MPU6050 este un senzor versatil și accesibil, care combină un accelerometru cu 3 axe și un giroscop cu 3 axe într-un singur pachet. Comunică prin interfața I2C și este perfectă pentru urmărirea mișcării, echilibrarea roboților și controalele bazate pe gesturi. Acest tutorial vă va arăta cum să interfațați MPU6050 cu un Arduino.

Ce vei avea nevoie

  1. Modul MPU6050
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Bord
  4. Fire de jumper
  5. Un computer cu IDE Arduino instalat

Pasul 1: Cablarea MPU6050 către Arduino

MPU6050 folosește protocolul I2C, necesitând doar două linii de date: SDA (date) și SCL (ceas). Iată conexiunile tipice:

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

Nota: Verificați PINOUT -ul I2C al plăcii Arduino, dacă utilizați un model diferit.

Pasul 2: Instalați biblioteca MPU6050

Pentru a facilita interfața cu MPU6050, vom folosi biblioteca „MPU6050”.

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. În managerul bibliotecii, căutați „MPU6050 de pisici electronice”.
  4. Selectați biblioteca și faceți clic pe Instala.

Pasul 3: Încărcați codul

Iată un exemplu de bază pentru a citi datele accelerometrului și giroscopului de la MPU6050:

#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
}

Pasul 4: Testați configurarea

  1. Conectați -vă Arduino la computer folosind un cablu USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port din Instrumente meniu.
  3. Încărcați codul făcând clic pe Încărcați buton.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Ar trebui să vedeți lecturi de accelerometru live și giroscop afișate.

Înțelegerea datelor

  • Accelerometru (Accel X, Y, Z): Măsoară accelerația liniară în trei axe.
  • Giroscop (Gyro X, Y, Z): Măsoară viteza unghiulară (viteza de rotație) în jurul a trei axe.

Depanare

  • Senzor nu este detectat: Verificați dublu cablarea și asigurați-vă că liniile I2C sunt conectate corect.
  • Fără ieșire pe monitorul serial: Verificați rata de transfer se potrivește cu setarea codului (9600).
  • Citiri incorecte: Păstrați nivelul senzorului în timpul inițializării pentru a preveni derivă.

Aplicații ale MPU6050

  1. Echilibrarea roboților
  2. Recunoașterea gestului
  3. Urmărirea mișcării pentru VR/AR
  4. Dispozitive de urmărire a fitnessului

Concluzie

Felicitări! Ați interfațat cu succes MPU6050 cu un Arduino și ați citit date de mișcare în timp real. Acest senzor este incredibil de versatil și poate fi folosit în nenumărate proiecte. Încercați să integrați MPU6050 în următorul dvs. proiect bazat pe mișcare și să vă dezlănțuiți potențialul!

Lasă un comentariu

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.