Acelerometro gy-521 arduino

Acelerometro gy-521 arduino

Acelerometro gy-521 arduino

Gy-521 arduino library

La siguiente imagen muestra la salida del acelerómetro en el monitor de serie en diferentes posiciones.Explicación del código:El boceto comienza declarando los pines de entrada analógica de Arduino a los que se conectan los pines de salida X, Y y Z del sensor.A continuación, definimos los valores mínimos y máximos que el Arduino va a proporcionar. Como la placa Arduino contiene un convertidor analógico-digital de 10 bits, mapeará los voltajes de salida del sensor entre 0 y 3,3 voltios en valores enteros entre 0 y 1023. La variable sampleSize le dice al Arduino que tome 10 muestras de cada conversión para obtener resultados más precisos.const int xInput = A0;

const int sampleSize = 10;En la función de configuración, debemos establecer la referencia analógica a EXTERNAL, ya que hemos conectado 3,3V al pin AREF en Arduino. Esto se hace llamando a analogReference(EXTERNAL).Puedes leer más sobre la función en la página oficial de Arduino. Excepto esto, inicializamos las comunicaciones en serie con el PC.Advertencia:Si no llamas a analogReference(EXTERNAL), cortocircuitarás la tensión de referencia activa (generada internamente) y el pin AREF, pudiendo dañar tu Arduino.analogReference(EXTERNAL);

Esquema gy-521

Descripción del código: Primero tenemos que incluir la librería Wire.h que se utiliza para la comunicación I2C y definir algunas variables necesarias para almacenar los datos. Para ello tenemos que echar un vistazo a la hoja de datos del sensor donde podemos ver la dirección del registro.También, si queremos, podemos seleccionar el rango de escala completa para el acelerómetro y el giroscopio utilizando sus registros de configuración. Para este ejemplo, usaremos el rango por defecto de +- 2g para el acelerómetro y 250 grados/s para el giroscopio, por lo que dejaré esta parte del código comentada.// Configurar la sensibilidad del acelerómetro – Rango de escala completa (por defecto +/- 2g)

*/En la sección del bucle comenzamos leyendo los datos del acelerómetro. Los datos de cada eje se almacenan en dos bytes o registros y podemos ver las direcciones de estos registros en el datasheet del sensor.Para leerlos todos, empezamos por el primer registro, y usando la función requiestFrom() solicitamos leer los 6 registros de los ejes X, Y y Z. Luego leemos los datos de cada registro, y como las salidas son de complemento a dos, las combinamos adecuadamente para obtener los valores correctos.// === Leer datos del acelerador === //

Código del acelerómetro arduino

Este módulo sirve para descomponer el chipset MPU-6050, un chip capaz de proporcionar lecturas de aceleración y velocidad angular en 3 ejes. El chipset cuenta con un acelerómetro de 3 ejes (±2-16g), un giroscopio de 3 ejes (250-2000DPS) y un regulador interno que permite el uso de suministros de 5V y 3.3V.

Cuando se combina con librerías libres es posible utilizar la potencia de procesamiento del chipset para realizar conversiones y combinaciones de datos para una mayor exactitud y precisión en los cálculos de posicionamiento. Además, el pin INT proporciona una interrupción que señala cuando hay datos frescos disponibles del sensor para limitar la necesidad de un sondeo continuo.

La comunicación se realiza a través de una interfaz I2C de 2 pines, disponible en una amplia gama de microcontroladores. La dirección I2C puede establecerse llevando el pin ADO a 0V para 0x68 o a 3,3V para 0x69. XDA y XCL proporcionan una interfaz I2C maestra si deseas añadir más dispositivos.

Gy-521 mpu-6050

El MPU6050 contiene tanto un giroscopio de 3 ejes como un acelerómetro de 3 ejes, lo que permite realizar mediciones de ambos de forma independiente, pero todas basadas en los mismos ejes, eliminando así los problemas de errores entre ejes cuando se utilizan dispositivos separados. Especificación:

Este sencillo módulo contiene todo lo necesario para interactuar con el Arduino y otros controladores a través de I2C (utilizar la biblioteca Wire Arduino) y dar información de detección de movimiento para 3 ejes – X, Y y Z Incluye ambos pines de cabecera recta y 90 grados. Descargue la biblioteca y el código Arduino de ejemplo desde >>AQUÍ<< La especificación del MPU6050 es >>AQUÍ<<

Acerca del autor

admin

Ver todos los artículos