¿Qué es el MPU6050?
El MPU6050 es un módulo IMU (Unidad de Medición Inercial) que integra:
- Acelerómetro de 3 ejes: mide aceleración lineal (X, Y, Z).
- Giroscopio de 3 ejes: mide velocidad angular (rotación).
- DMP (Digital Motion Processor): permite fusionar datos para obtener orientación precisa.
Se encuentra comúnmente en el módulo GY-521, ideal para Arduino.
Características
| Parámetro | Valor típico |
|---|---|
| Comunicación | I2C (SDA, SCL) |
| Voltaje de operación | 3.3V (GY-521 tolera 5V) |
| Rango acelerómetro | ±2g, ±4g, ±8g y ±16g |
| Rango giroscopio | ±250, ±500, ±1000, ±2000 °/s |
| Frecuencia de muestreo | Hasta 1 kHz |
| Pines principales | VCC, GND, SDA, SCL, INT |
Aplicaciones comunes
- Robots autoequilibrados (2WD, 4WD)
- Drones y estabilización de vuelo
- Dispositivos móviles y wearables
- Controladores de videojuegos
- Sistemas de navegación y orientación
Conexión con Arduino Uno
| MPU6050 (GY-521) | Arduino Uno |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
| INT (opcional) | D2 |
Ejemplo de código básico
Usando la librería Adafruit_MPU6050:
#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
Adafruit_MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!mpu.begin()) {
Serial.println("Sensor MPU6050 no detectado");
while (1) delay(10);
}
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
mpu.setGyroRange(MPU6050_RANGE_500_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("MPU6050 listo");
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
Serial.print("Aceleración X: "); Serial.print(a.acceleration.x); Serial.print(" m/s²\t");
Serial.print("Y: "); Serial.print(a.acceleration.y); Serial.print("\t");
Serial.print("Z: "); Serial.println(a.acceleration.z);
Serial.print("Giroscopio X: "); Serial.print(g.gyro.x); Serial.print(" rad/s\t");
Serial.print("Y: "); Serial.print(g.gyro.y); Serial.print("\t");
Serial.print("Z: "); Serial.println(g.gyro.z);
delay(500);
}
Puedes instalar la librería desde el Library Manager de Arduino IDE buscando Adafruit MPU6050.
⚠️ Disclaimer
La información técnica proporcionada se basa en fuentes confiables y documentación pública como AranaCorp, DescubreArduino y ArduProject. Sin embargo, las características del módulo pueden variar según el fabricante o versión. Se recomienda verificar el datasheet oficial del MPU6050 y realizar pruebas de calibración antes de integrarlo en sistemas críticos.