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
- Modul MPU6050
- Arduino Board (de exemplu, Uno, Mega, Nano)
- Bord
- Fire de jumper
- 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”.
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
- În managerul bibliotecii, căutați „MPU6050 de pisici electronice”.
- 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
- Conectați -vă Arduino la computer folosind un cablu USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port din Instrumente meniu.
- Încărcați codul făcând clic pe Încărcați buton.
- Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la
9600
. - 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
- Echilibrarea roboților
- Recunoașterea gestului
- Urmărirea mișcării pentru VR/AR
- 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!