Nota

¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete más en el mundo de Raspberry Pi, Arduino y ESP32 junto con otros entusiastas.

¿Por qué unirse?

  • Soporte Experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.

  • Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Avances Exclusivos: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.

  • Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.

  • Promociones Festivas y Sorteos: Participa en sorteos y promociones festivas.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.

2.2.9 Módulo MPU6050

Introducción

El MPU-6050 es el primer y único dispositivo de seguimiento de movimiento de 6 ejes del mundo (Giroscopio de 3 ejes y Acelerómetro de 3 ejes) diseñado para teléfonos inteligentes, tabletas y sensores portátiles que tienen estas características, incluyendo los requisitos de bajo consumo, bajo costo y alto rendimiento.

En este experimento, usaremos I2C para obtener los valores del sensor de aceleración de tres ejes y el giroscopio de tres ejes del MPU6050 y mostrarlos en la pantalla. “ “

Componentes Necesarios

En este proyecto, necesitamos los siguientes componentes.

../_images/list_2.2.6.png

Es definitivamente conveniente comprar un kit completo, aquí tienes el enlace:

Nombre

ARTÍCULOS EN ESTE KIT

ENLACE

Kit Raphael

337

Raphael Kit

También puedes comprarlos por separado en los siguientes enlaces.

INTRODUCCIÓN AL COMPONENTE

ENLACE DE COMPRA

Placa de Extensión GPIO

COMPRAR

Protoboard

COMPRAR

Cables de Puente

COMPRAR

Módulo MPU6050

COMPRAR

Diagrama Esquemático

El MPU6050 se comunica con el microcontrolador a través de la interfaz del bus I2C. Los pines SDA1 y SCL1 deben conectarse al pin correspondiente.

../_images/image330.png

Procedimientos Experimentales

Paso 1: Construye el circuito.

../_images/image227.png

Paso 2: Configura I2C (ver Apéndice Configuración de I²C. Si ya has configurado I2C, omite este paso).

Paso 3: Ve a la carpeta del código.

cd ~/raphael-kit/nodejs/

Paso 4: Instala las dependencias.

sudo npm install mpu6050-gyro

Paso 5: Ejecuta el código.

sudo node mpu6050_module.js

Una vez ejecutado el código, se imprimirá en la pantalla el ángulo de desviación de los ejes x e y, así como la aceleración y la velocidad angular en cada eje leídos por el MPU6050 después de ser calculados.

Código

var gyro = require("mpu6050-gyro");

var address = 0x68; //MPU6050 address
var bus = 1; //i2c bus used
var gyro = new gyro( bus,address );

async function update_telemetry() {

    var gyro_xyz = gyro.get_gyro_xyz();
    var accel_xyz = gyro.get_accel_xyz();

    var gyro_data = {
        gyro_xyz: gyro_xyz,
        accel_xyz: accel_xyz,
        rollpitch: gyro.get_roll_pitch( gyro_xyz, accel_xyz )
    }

    console.log(gyro_data);

    setTimeout(update_telemetry, 500);
}

if ( gyro ) {
    update_telemetry();
}

Explicación del Código

var gyro = require("mpu6050-gyro");

var address = 0x68; //MPU6050 address
var bus = 1; //i2c bus used
var gyro = new gyro( bus,address );

Importa el módulo mpu6050-gyro, determina la dirección del MPU6050 y el bus, y crea el objeto gyro, lo que facilita llamar a las funciones encapsuladas en el módulo.

Nota

Sobre este módulo, por favor refiérase a: https://www.npmjs.com/package/mpu6050-gyro

var gyro_xyz = gyro.get_gyro_xyz();
var accel_xyz = gyro.get_accel_xyz();

var gyro_data = {
    gyro_xyz: gyro_xyz,
    accel_xyz: accel_xyz,
    rollpitch: gyro.get_roll_pitch(gyro_xyz, accel_xyz)
}

console.log(gyro_data);

setTimeout(update_telemetry, 500);

El módulo encapsula tres funciones disponibles:

gyro.get_gyro_xyz(): Devuelve un objeto JSON con los datos brutos x, y, z del giroscopio.

gyro.get_accel_xyz(): Devuelve un objeto JSON con los datos brutos x, y, z del acelerómetro.

gyro.get_roll_pitch(gyro_xyz, accel_xyz): Devuelve un objeto JSON con el ángulo de balanceo e inclinación en grados.

Imagen del Fenómeno

../_images/image228.jpeg