MPU6050: Acelerómetro Arduino 6 Axis + Gyro - Prueba GY 521 y simulación 3D

¿Está buscando hacer su propio avión no tripulado quadcopter o avión RC con Arduino pero no sabe cómo hacer funcionar el giroscopio? ¿Quizás ya compró algunos módulos MPU6050 de 6 ejes (en las placas de conexión GY-521) solo para descubrir que no eran tan fáciles de usar como pensaba? ¡Probar esto!

Aprenderá a cablear un circuito simple para probar su MPU6050 con un Arduino y simular el YAW, PITCH y ROLL en un plano modelo 3D en la pantalla. Esto está pensado como una herramienta de aprendizaje para familiarizarlo con los módulos giroscópicos, los paneles de conexión e instalar las bibliotecas necesarias en su IDE Arduino para permitirle hacer el mejor uso de su giroscopio MEMS y ahorrar tiempo en lugar de escribir código complejo desde cero.

Lo que necesita se puede encontrar en eBay (enlaces a continuación):

  • 1 x cable USB Arduino UNO +
  • 1 x mini placa de prototipos
  • 1 x tablero de conexiones GY-521
  • Algunos cables de puente de macho a macho
  • Soldador + soldadura

Paso 1: Circuito de cable como se muestra a continuación:

*** NOTA : todos los cables rojos son VCC (+ 5V) y los cables negros son GND, verifique cuidadosamente al cablear su circuito. La placa de conexión viene con pasadores pero requiere soldadura. ***

Para tu propio aprendizaje:

  • El módulo giroscópico se comunica con el Arduino a través de la comunicación serial I2C a través del reloj serial (SCL) y los datos (SDA)
  • el chip MPU6050 necesita 3.3V pero un regulador de voltaje en la placa GY-521 le permite darle hasta 5V
  • Para obtener más información sobre el módulo, hay un gran recurso en esta página en Arduino Playground

Paso 2: Instale las bibliotecas I2Cdev y MPU6050

Si escribiéramos el código desde cero, tomaría años y se necesitaría mucha ingeniería inversa para hacer un buen uso del motor de procesamiento de movimiento digital (DMP) patentado del módulo porque Invensense lanzó intencionalmente datos mínimos en su MPU6050. Es bueno que alguien ya haya hecho el trabajo duro por nosotros; Jeff Rowberg escribió algunas bibliotecas Arduino para obtener los datos del acelerómetro / giroscopio y manejar todos los cálculos. Están disponibles como un archivo zip desde aquí:

//github.com/jrowberg/i2cdevlib/zipball/master

Una vez descomprimido, busque la carpeta Arduino dentro de él y copie las dos carpetas "I2Cdev" y "MPU6050" en la carpeta "bibliotecas" de Arduino en el siguiente directorio:

C: \ Archivos de programa (x86) \ Arduino \ bibliotecas

Luego abra el IDE de Arduino y en la sección de ejemplos, debe encontrar MPU6050_DMP6 dentro de MPU6050. Ábralo, conecte su arduino, seleccione el puerto COM apropiado y cargue el boceto. En la ventana de serie, seleccione una velocidad en baudios de 115200. Se le debe indicar que la conexión MPU6050 fue exitosa. Puede probar la recopilación de datos escribiendo cualquier cosa en la barra de texto y presionando enter, los datos deberían comenzar a aparecer.

Ahora queremos establecer el código para ejecutar la demostración de la tetera para mostrar la simulación 3D. Cierre la ventana serial, luego busque y comente la línea #define OUTPUT_READABLE_YAWPITCHROLL y descomente la línea // # defina OUTPUT_TEAPOT. Seleccione "guardar como" y elija dónde desea guardar el código modificado. Cargue nuevamente pero no abra la ventana serial esta vez.

Paso 3: descargue e instale la última versión de Processing & ToxicLibs Library

Para ejecutar una simulación 3D de los valores de guiñada / inclinación / balanceo en un avión en la pantalla, ejecutaremos la demostración de la tetera del ejemplo MPU6050_DMP6 de la biblioteca MPU6050 de Jeff Rowberg. Sin embargo, el IDE de Arduino solo adquirirá los datos, para mostrar la simulación 3D necesitaremos un software adicional: Procesamiento. Descarga Processing desde aquí, luego descomprime a donde quieras:

//processing.org/download/?processing

Necesitaremos una biblioteca final para que todo funcione: ToxicLib. Esta biblioteca irá a la carpeta de bibliotecas de Processing en lugar de la de Arduino. La última versión de la biblioteca ToxicLibs está aquí:

//bitbucket.org/postspectacular/toxiclibs/downloads/

La carpeta "bibliotecas" de Procesamiento se puede encontrar siguiendo (comenzando desde la carpeta de procesamiento): modos -> java -> bibliotecas. Descomprima ToxicLibs y coloque TODOS los contenidos allí.

Paso 4: ejecuta la simulación

Por último, abra el archivo de la aplicación Procesando y luego

Archivo -> Abrir -> siga este directorio C: \ Archivos de programa (x86) \ Arduino \ bibliotecas \ MPU6050 \ Ejemplos \ MPU6050_DMP6 \ Processing \ MPUTeapot

y abra el archivo MPUTeapot.

Haga clic en el botón de reproducción y el sistema debe calibrarse durante unos 20-30 segundos, deje el giroscopio inmóvil durante ese período.

Ahora toma el giroscopio y prueba el guiñada / cabeceo / balanceo. Una vez que esté satisfecho de que todo funcione correctamente, puede comenzar a experimentar con él para sus propios proyectos. Si desea hacer un uso completo de las bibliotecas I2Cdev o MPU6050 y sus funciones, consulte sus archivos de encabezado.

Espero hacer un tutorial para hacer un dron de bricolaje en breve, así que si lo encontraste útil, ¿por qué no estar atento a futuros proyectos siguiéndome en Instructables y en Facebook / Twitter / Google+?

Si disfrutaste de este instructable y te gustaría ver más de este tipo, considera apoyarme comprando tus materiales para este proyecto a través de los enlaces de afiliados en la sección de materiales o donando a continuación:

PayPal : //www.paypal.me/HobbyTransform

Bitcoin : 1Mqe7et24Lz4DY1RUN4iAQVHkvJsdFArKR

Ethereum : 0x6d8248db1cdea6a783cb6b41ae67bb8e6144f479

Litecoin : LW6PWESqsr8xHw6EJ9WLbsQsAyTvPnwnxJ

Guión: Xemv7jud697v8tQmKfNFoMxfkd17ZayH2t

Su apoyo es muy apreciado! ¡Feliz bricolaje!

Artículos Relacionados