3D impreso cuadricóptero Arduino (4 / 7 paso)

Paso 4: Configuración de acelerómetro de I2C-giroscopio

TL; DR:

1. NO CONECTE A 5V.

2. no flipar.

3. usar esta librería: https://github.com/jrowberg/i2cdevlib

4. no de la placa en la soldadura hasta que se haya ejecuta una calibración.

Se utilizó un MPU6050 de SparkFun, https://www.sparkfun.com/products/11028. Estos se pueden encontrar en Amazon por sólo $10 y lo tengo en la buena palabra que trabajan bien, pero el cableado será un poco diferente de las imágenes. Este paso servirá como un fondo genérico y un tutorial para configurar y utilizar un acelerómetro I2C, ya que la mayoría de esta información está dispersa entre hilos de foro una docena.

¿Qué es I2C?

Usted pudo haber visto tableros simples tales como https://www.sparkfun.com/products/9269 con salidas analógicas individuales para X, Y y Z. Los sentido; cada salida corresponde a un eje del acelerómetro. Luego puede ve una placa de I2C y flipar un poco dentro. I2C es un estándar de comunicación donde la Junta comunica gran cantidad de información mediante pulsos de lógica digital en lugar de salidas analógicas. El MPU6050 tiene 6-ejes (giroscopio de 3, 3-acelerómetro) así si fueran analógicas utilizan todos los puertos de tu Arduino. La línea de fondo es el Arduino envía una señal de control digital a la Junta y lee en información digital de los pines de entrada.

Cableado:

El cableado para nuestro MPU6050 específico es como sigue. Nota el código de biblioteca asume son los insumos utilizados. Otros tableros será similares.

VDD -> 3.3v

GND -> tierra

INT -> digital 2

SCL -> A5

SDA -> A4

VIO -> tierra

Corriente 5v a través de la junta puede y romperlo, así que no. Algunas placas de MPU6050 tienen reguladores de voltaje que deben protegerlo, pero no merece la pena el riesgo. Si la board tiene un pin de AD0, debe conectarse a tierra. En nuestra junta que del puerto VIO está conectado a un interno AD0, así que sirve como el perno AD0. Si AD0/VIO está conectada a tierra o a VDD en realidad determina la dirección de memoria que la Junta se interrelaciona con el Arduino (0x68 o 0x69). Si esto es confuso, no preocuparse por ello, sólo de alambre a tierra. Si tiene problemas intente cambiar VIO/AD0 desde suelo a VDD.

Código:

Ahora las cosas se ponen un poco difíciles. Que tienes un poco codificación / jugar con experiencia de software. Si no, solo vas lentamente y google nada no sabes. Hay mucha información por ahí. Voy a intentar ser lo más claro posible, pero no puedo cubrir todos los problemas

Una vez que el MPU conectado al Arduino, encenderla y añadir este código de analizador de I2C: http://playground.arduino.cc/Main/I2cScanner#.Uxh...

Desplácese hasta la parte inferior y copiar y pegar el código en un dibujo vacío y ejecutarlo. Abra al serial monitor (Tools -> a Serial Monitor) y asegúrese de que estar en Puerto 9600 (inferior izquierda). Que está en el código, pero de todos modos no leerlo.

Si todo funciona se debe encontrar un dispositivo I2C y darle una dirección de memoria 0x68 o 0x69. Escriba. Si obtiene errores Revise el cableado.

Ahora vas a querer instalar código que realmente habla el acelerómetro/giroscopio. Hay un montón de cosas por ahí pero la he encontrado que funciona mejor es https://github.com/jrowberg/i2cdevlib. Haga clic en "Descarga Zip", recuerda donde te pero (probablemente escritorio) y luego descomprimirlo. Abrir el programa IDE de Arduino. Ahora vamos a esbozar -> Biblioteca de importación -> Agregar biblioteca. Debe agregar la carpeta de I2Cdev y las carpetas de MPU6050 como bibliotecas (están bajo Arduino en la carpeta).

Una vez que están instalados deben abrir el MPU6050_DMP6 (es en MPU6050 -> ejemplos) archivo en Arduino. Sugeriría leer (incluso si no sabes mucho código), es bien comentado y cuenta con algunas opciones de cómo salidas las lecturas de la tabla. Si tenes en 0x69 desde el escáner, debe descomentar una línea en la parte superior del código (después de los #includes; acabo de leer los comentarios tonto) ya que el valor predeterminado es 0x68. Ahora debe compilar el programa.

Subir el código, abrir el puerto serie (115200 esta vez) y sigue las instrucciones. Felicidades, usted debe conseguir trabajando las lecturas de la Junta. Si le parece a la deriva al principio, no te preocupes lo necesita unos 10 segundos de ser todavía para venir a descansar. También la salida de desvío se deriva (un poco), como lo no ha hecho ningún marco de referencia. La Junta aprovecha el acelerómetro gravedad encontrar "hacia abajo" que actúan como referencia para la echada y del rodillo. Algunas placas más de lujo contienen una brújula para la referencia.

Ahora antes de ir, querrá volver a calibrar la placa. Encontrar una superficie nivelada y asegúrese de que la placa es plana con la etiqueta hacia arriba.

Entonces debe ejecutar este código handy dandy calibración disponible en la parte superior, gracias a Luis Ródenas. Otra vez el valor por defecto es 0x68, pero usted puede cambiar eso. Asegúrese de que usted escriba los valores de desvío que le da. Puede y debe utilizar éstos como los desplazamientos en el código de MPU6050_DMP6 (y más adelante nuestro código quadcopter).

Ahora tiene un acelerómetro/giroscopio trabajo y útil. Ahora sugiero pasa algún tiempo jugar con el código MPU6050_DMP6 y tratando de los tipos de salida diferentes.

Artículos Relacionados

3D impreso Quadcopter con Arduino

3D impreso Quadcopter con Arduino

Últimamente las noticias ha estado repleta de historias de la tecnología de los drone. Ya sea para fines militares, recreación o entrega, vuelo no tripulado es el futuro de la aviación. A partir de diciembre de 2013, comenzó a trabajar en un drone co
3D impreso cuadrúpedos Arduino Robot

3D impreso cuadrúpedos Arduino Robot

Hice esto como un proyecto de Feria de ciencia y decidió compartirlo. En este instructable no voy muy profundo como el robot ya está construido y no tengo tiempo para volver a crearla. Tiene 2 modos:Control manual de cualquier control remoto de TV.Ev
Cómo hacer un teléfono móvil y un ordenador controlado 3D impreso Robot con Arduino - IoBot.

Cómo hacer un teléfono móvil y un ordenador controlado 3D impreso Robot con Arduino - IoBot.

Si está buscando una manera de controlar un Arduino basado en dispositivos, esta instrucción le mostrará cómo hacerlo mediante la construcción de robots sencillos.La IoBot puede controlarse mediante la aplicación móvil y ordenador vía LAN o Cable USB
3D impreso TARDIS con Arduino

3D impreso TARDIS con Arduino

Este instructable fue creado en cumplimiento de la exigencia de proyecto de la Makecourse de la Universidad de South Florida (www.makecourse.com).Este proyecto tenía la clase, sin previa experiencia, usar una impresora 3D, escribir código Arduino y a
3D impreso jeringa bomba Arduino basado

3D impreso jeringa bomba Arduino basado

Por favor voten por mi proyecto para ver más sistemas electromecánicos DIY!Tuve una idea que sería posible hacer un de alta calidad, bomba de jeringa de precisión usando 3D piezas impresas y varios extras de eBay para mucho más barato que lo que hoy
Arduino controla helicóptero

Arduino controla helicóptero

Este instructable fue creado en cumplimiento de la exigencia de proyecto de la Makecourse de la Universidad de South Florida (www.makecourse.com). El objetivo de este curso fue enseñar creatividad, el ingenio y la aplicación práctica de habilidades c
RC helicóptero cuadrotor

RC helicóptero cuadrotor

este proyecto es un helicóptero cuadrotor RC (quadrocopter, quadcopter, cuadricóptero, etc.). Es un helicóptero RC que utiliza 4 rotores.Ver en 720pNecesita algunas habilidades de pre-requisito:Cómo utilizar Arduino, lo suficiente como para empezarSo
3D brazo robótico de impresos

3D brazo robótico de impresos

ESO ES UN TRABAJO QUE HACER EN MI ESCUELA SECUNDARIA. ES UN BRAZO ROBÓTICO COMPLETO 3D IMPRESO, CONTROLADOR CON ARDUINO. LES ESPERO GUSTE!! Y LO SIENTO POR MI INGLÉS SOY DE CATALUÑA Y TENGO 20 AÑOS DE EDAD.Paso 1: Lo que necesitamos 1. 3D IMPRESORA2.
Agregar Radio a un helicóptero Syma S107 IR (o cualquier otro dispositivo de IR)

Agregar Radio a un helicóptero Syma S107 IR (o cualquier otro dispositivo de IR)

control remoto helicópteros y otros juguetes han convertido en increíblemente avanzados por un precio muy bajo, esto es parcialmente debido al mercado de dispositivos móviles enormes, que ha empujado a tecnología en baterías de alta energía pequeña a
Paperduino 2.0 con circuito escriba - Arduino de papel

Paperduino 2.0 con circuito escriba - Arduino de papel

¿y si era tan fácil como imprimir una hacer un Arduino o cableado a un Arduino? En este tutorial hemos impreso nuestra propia Arduino Mini Pro usando un trazador de pluma y el circuito Electroninks del escriba (un bolígrafo Roller con tinta altamente
Abejón de carreras clase FPV 250

Abejón de carreras clase FPV 250

Hola a todos. Te sugiero una instrucción sobre cómo construir tu 250 clase quadrocopter.Esta instrucción es para quien quiere uno mismo-montar su quad de carreras, pero no sabe qué componentes elegir para comenzar con. Por supuesto puse mi opinión pe
Edificio una Quadrocopter

Edificio una Quadrocopter

Hola chicos, he estado en un cuadricóptero durante casi un año así que cuando tuve que elegir lo que quería hacer para un proyecto personal de escuela tuvo la oportunidad de crear un quad! Este es mi primer instructable así que voy a intentar mi mejo
Flip-Flop CyliBot

Flip-Flop CyliBot

Se trata de un Android controlado, Bluetooth señalizado, 3 ruedas, 3D impreso cilindro formado Arduino bot ese flip-flop al invertir rápidamente las direcciones. La génesis de este bot se produjo después de había pulido de una lata de Pepperidge Farm
Conversión de una impresora de inyección de tinta para imprimir PCB

Conversión de una impresora de inyección de tinta para imprimir PCB

ver el paso 12 para nuevos resultados y un aguafuerte/proyecto actualización!Recientemente uno de mis objetivos ha sido encontrar una manera de facilitar el proceso de creación de PCB (Printed Circuit Board). Me gusta poder diseño que algo basado en