¿QUÉ ES UN IMU MPU-6050?
El MPU-6050 es una unidad de medición inercial (IMU)
de seis grados de libertad (6DOF) fabricado por Invensense, que combina un
acelerómetro de 3 ejes y un giroscopio de 3 ejes.
La comunicación puede realizarse tanto por SPI como
por bus I2C, por lo
que es sencillo obtener los datos medidos. La tensión de alimentación es de
bajo voltaje entre 2.4 a 3.6V.
Frecuentemente se encuentran integrados en módulos
como el GY-521 que incorporan la electrónica necesaria para conectarla de
forma sencilla a un Arduino. En la mayoría de los módulos, esto incluye un
regulador de voltaje que permite alimentar directamente a 5V.
Dispone de conversores analógicos digitales (ADC) de
16bits. El rango del acelerómetro puede ser ajustado a ±2g, ±4g, ±8g, y ±16g,
el del giroscopio a ±250, ±500, ±1000, and ±2000°/sec.
Es un sensor consume 3.5mA, con todos los sensores y
el DMP activados. Dispone de un sensor de temperatura embebido, un reloj de
alta precisión e interrupciones programables. También puede conectarse a otros
dispositivos I2C como master.
El MPU-6050 incorpora un procesador interno (DMP
Digital Motion Processor) que ejecuta complejos algortimos de MotionFusion para
combinar las mediciones de los sensores internos, evitando tener que realizar
los filtros de forma exterior.
SiESQUEMA MONTAJE
La conexión es sencilla, simplemente alimentamos el
módulo desde Arduino mediante GND y 5V y conectamos el pin SDA y SCL de Arduino
con los pines correspondientes del sensor.
Mientras que la conexión vista desde el lado de
Arduino quedaría así.
En Arduino Uno, Nano y Mini Pro, SDA es el pin A4 y el
SCK el pin A5. Para otros modelos de Arduino consultar el esquema patillaje
correspondiente.
Para realizar la lectura del MPU-6050 usaremos la
librería desarrollada por Jeff Rowberg. También emplearemos la librería I2Cdev desarrollada por el mismo
autor, que mejora la comunicación I2C.
La librería proporciona ejemplos de código, que
resulta aconsejable revisar.