Probando el sensor GY-521 (MPU6050)
Luego de varias pruebas de intento y error :S pude conectar de forma exitosa el sensor GY-521 (MPU6050) a mi Arduino Nano. A continuación unos pequeños tips (útiles o no) para lograr una correcta comunicación.
¿Como encontrar la dirección I2C del modulo?
Cada dispositivo I2C contiene una dirección que lo representa, en el caso de la plaquita GY-521, por lo general es la dirección 0×68 o 0×69. Una buena forma de encontrar la dirección exacta es utilizando el skecth i2c_scanner.
Diagrama de Conexión:
VCC —- 3.3v
GND —- GNG
SCL —- A5
SDA —- A4
Ejecutamos el sketch en nuestra placa y deberíamos ver la dirección por la consola serial (a 9600bps).
Leer datos RAW del Sensor
Para leer los datos RAW del sensor, podemos usar el sketch publicado en el articulo MPU-6050 de ArduinoPlayGround. Dependiendo de la dirección de nuestro modulo (0×69 o 0×68), debemos indicar dicha dirección en la constante MPU6050_I2C_ADDRESS.
#define MPU6050_I2C_ADDRESS 0x69
Siguiendo la misma conexión anterior, deberiamos ver varios valores a través de la consola serial.
Obtener el angulo de inclinación de nuestro sensor
Utilizando la librería i2cdevlib, podemos leer facilmente el grado de inclinación de nuestro sensor utilizando la clase MPU6050. Debemos descargar la librería desde su repositorio https://github.com/jrowberg/i2cdevlib y luego añadir la librería en nuestro IDE (renombrando la i2cdevlib-master por i2cdevlib, luego copiarla a la carpeta libraries de nuestra repositorio de proyectos arduinos).
Una vez instalada la librería, procedemos a ver el ejemplo MPU6050_DMP6 , en el debemos indicar la dirección de nuestra placa (en la instancia de la clase)
MPU6050 mpu(0x69);
y realizar el siguiente diagrama de conexión hacía nuestro Arduino Nano.
VCC —- 3.3v
GND —- GNG
SCL —- A5
SDA —- A4
INT —- D2
Si ejecutamos el sketch, deberiamos ver la inclinación de nuestra placa en angulos centesimales, si creemos que nuestra placa se encuentra totalmente horizontal, podemos ajustar el offset en el área de setup de nuestro código.
A seguir experimentando xD.
Referencias
1.- ABC del Acelerometro
http://5hertz.com/tutoriales/?p=228
Tengo un arduino UNO, el pin dsel sensor llamado INT donde lo tengo que conectar en mi arduino? Es que no lo explica bien en el programa.
Hola Miguel
Si no mal recuerdo, este debería ser conectado al PIN D2.
Saludos
Hola, ¿sabrías como conectar dos de estas IMUs? estoy teniendo varios problemas ya que utilizo este modelo de placa ( http://www.dfrobot.com/wiki/index.php/6_DOF_Sensor-MPU6050_(SKU:SEN0142) ) y no puedo usar el pin AD0 que se supone se emplea, en parte, para ello.
gracias!