El MPU6050 es un sensor versátil y asequible que combina un acelerómetro de 3 ejes y un giroscopio de 3 ejes en un solo paquete. Se comunica a través de la interfaz I2C y es perfecto para el seguimiento de movimiento, el equilibrio de robots y controles basados en gestos. Este tutorial le mostrará cómo interactuar el MPU6050 con un Arduino.
Lo que necesitarás
- Módulo MPU6050
- Arduino Board (por ejemplo, Uno, Mega, Nano)
- Tablero de circuitos
- Cables de jersey
- Una computadora con el Arduino IDE instalado
Paso 1: Cableado el MPU6050 a Arduino
El MPU6050 usa el protocolo I2C, que requiere solo dos líneas de datos: SDA (datos) y SCL (reloj). Estas son las conexiones típicas:
Pasador MPU6050 | Arduino uno pin |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Nota: Verifique el pinout I2C de su tablero Arduino si está utilizando un modelo diferente.
Paso 2: Instale la biblioteca MPU6050
Para que sea más fácil interactuar con el MPU6050, usaremos la biblioteca "MPU6050".
- Abra el IDE Arduino.
- Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
- En el Administrador de la Biblioteca, busque "MPU6050 de Electronic Cats".
- Seleccione la biblioteca y haga clic Instalar.
Paso 3: cargar el código
Aquí hay un ejemplo básico para leer datos de acelerómetro y giroscopio 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
}
Paso 4: prueba la configuración
- Conecte su Arduino a la computadora con un cable USB.
- Abra el IDE Arduino y seleccione el correcto Junta y Puerto desde Herramientas menú.
- Cargar el código haciendo clic en el Subir botón.
- Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en
9600
. - Debería ver las lecturas de acelerómetro en vivo y giroscopio que se muestran.
Comprender los datos
- Acelerómetro (Accel X, Y, Z): Mide la aceleración lineal en tres ejes.
- Giroscopio (Gyro X, Y, Z): Mide la velocidad angular (velocidad de rotación) alrededor de tres ejes.
Solución de problemas
- Sensor no detectado: Compruebe dos veces el cableado y asegúrese de que las líneas I2C estén correctamente conectadas.
- No hay salida en el monitor en serie: Verifique que la tasa de baudios coincida con la configuración del código (9600).
- Lecturas incorrectas: Mantenga el nivel del sensor durante la inicialización para evitar la deriva.
Aplicaciones de MPU6050
- Balancing Robots
- Reconocimiento de gestos
- Seguimiento de movimiento para VR/AR
- Dispositivos de seguimiento de fitness
Conclusión
¡Felicidades! Has interactuado con éxito el MPU6050 con un Arduino y lee los datos de movimiento en tiempo real. Este sensor es increíblemente versátil y puede usarse en innumerables proyectos. ¡Intente integrar el MPU6050 en su próximo proyecto basado en la movimiento y desatar su potencial!