INFORMACIÓN
El módulo MPU-9250 9DOF realiza detección de movimiento en 9 ejes, ya que combina giroscopio de 3 ejes(3DOF), un acelerómetro de 3 ejes(3DOF) y un magnetómetro AK8963 de 3 ejes (3DOF) en el mismo chip DMP (Procesador digital de movimiento) capaz de realizar complejos algoritmos para la captura del movimiento de estos 9 ejes (9DOF). La comunicación puede realizarse tanto por bus SPI como por bus I2C, por lo que es sencillo obtener los datos medidos.
Contiene 10 pines header rectos para soldar a la placa.
El módulo MPU-9250 9DOF es usado para servicios basados en ubicación principalmente, pero más estructurado funciona también para control /navegación de aplicaciones de interfaz usuario «sin contacto», para atajos gestuales, juegos habilitados con movimientos, auriculares y juegos portátiles, controles remotos 3D para pantallas y decodificadores conectados a Internet, sensores portátiles para salud, fitness y deportes.
Frecuentemente se encuentran integrados en módulos 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.
ESPECIFICACIÓN Y CARACTERÍSTICAS
- Módulo Modelo: GY-9250 /GY -6500
- Sensor: MPU-9250/6500
- Voltaje de alimentación: 3V a 5V (con regulador interno)
- Grados de libertad (DoF): 9
- Dimensiones: 26 mm x 15.5 mm x 2.6 mm (sin header)
- Peso: 2 g
- Interfaz:
- I2C (400kHz) y SPI (1MHz)
- Registros de interrupción SPI (20MHz.)
Características del Giroscopio
- Rango de Giroscopio: 250/500/1000/2000 grados/segundo
- Corriente de Operación: 3.2mA
- Corriente en modo sleep: 8uA
Características del Acelerómetro
- Rango de Aceleración: ± 2 ± 4 ± 8 ± 16 g
- Convertidor ADC: 16 bit
- Corriente de Operación: 450 uA
- Corriente en modo sleep: 8uA
Características del Magnetómetro
- Funcionamiento por Efecto Hall
- Corriente de Operación: 280µA a 8Hz
- Rango del campo magnético: ± 4800uT (completo)
- Sensibilidad: 0,6 μT/LSB
- Resolución de salida:
- 14 bit (0.6µT/LSB)
- 16 bit (15µT/LSB)
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Uso de la interfaz I2C y conexión a Arduino.
El módulo utiliza la interfaz I2C para comunicarse con la MCU. Admite dos direcciones I2C diferentes; 0x68 y 0x69. Eso permite usar dos dispositivos en el mismo bus o en caso de que haya un conflicto de dirección con otro dispositivo en el bus.
El pin ADO determina la dirección I2C a usar. Este pin tiene una resistencia pull-down de 4.7K incorporada en el módulo. Si el pin se deja desconectado, la línea se reducirá y la dirección I2C predeterminada será 0x68. Para seleccionar 0x69, conecte el pin ADO a 3.3V.
Los pines SCL y SDA se conectan a los pines SCL y SDA en la MCU.
La dirección I2C auxiliar con pines etiquetados como EDA y ECL son un bus I2C controlado por el MPU-9250 para que pueda comunicarse directamente con otros sensores para que pueda obtener información adicional para sus cálculos internos.
Conexión del Arduino a MPU-9550 para interfaz de I2C
Código prueba para MPU -6050 GY-521
Se presenta el siguiente código con la finalidad de que puedas probar el funcionamiento del MPU , cabe mencionar que se requiere calibración y los datos arrojados son de fábrica. Para más información revisar el datasheet.
#include "MPU9250.h" MPU9250 IMU(Wire, 0x68); int status; void setup() { Serial.begin(115200); while (!Serial) {} status = IMU.begin(); if (status < 0) { Serial.println("IMU initialization unsuccessful"); Serial.println("Check IMU wiring or try cycling power"); Serial.print("Status: "); Serial.println(status); while (1) {} } } void loop() { IMU.readSensor(); Serial.println("ACELERÓMETRO"); Serial.print("Accel X:"); Serial.println(IMU.getAccelX_mss(), 6); Serial.print("Accel Y:"); Serial.println(IMU.getAccelY_mss(), 6); Serial.print("Accel Z:"); Serial.println(IMU.getAccelZ_mss(), 6); Serial.println("GIROSCOPIO"); Serial.print("Gyro X:"); Serial.println(IMU.getGyroX_rads(), 6); Serial.print("Gyro Y:"); Serial.println(IMU.getGyroY_rads(), 6); Serial.print("Gyro Z:"); Serial.println(IMU.getGyroZ_rads(), 6); Serial.println("MAGNETÓMETRO"); Serial.print("Mag X:"); Serial.println(IMU.getMagX_uT(), 6); Serial.print("Mag Y:"); Serial.println(IMU.getMagY_uT(), 6); Serial.print("Mag z:"); Serial.println(IMU.getMagZ_uT(), 6); Serial.println("TEMPERATURA"); Serial.print("Tem:"); Serial.println(IMU.getTemperature_C(), 6); delay(1000); }
Valoraciones
No hay valoraciones aún.