Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matrícula: 1835065
Brigada: 506
Objetivos
En esta práctica se tiene como objetivo realizar mediciones del módulo MPU6050 con el fin de obtener las
lecturas deseadas. Diseñar el circuito por medio de software de diseño.
Métodos y Materiales
En este ejemplo realizaremos lecturas tanto del acelerómetro como del giroscopio.
// Valores RAW (sin procesar) del acelerometro y giroscopio en los ejes x,y,z
int ax, ay, az;
int gx, gy, gz;
void setup() {
Serial.begin(57600); //Iniciando puerto
serial Wire.begin(); //Iniciando I2C
sensor.initialize(); //Iniciando el sensor
void loop() {
// Leer las aceleraciones y velocidades angulares
sensor.getAcceleration(&ax, &ay, &az);
sensor.getRotation(&gx, &gy, &gz);
delay(100);
}
Repasemos las funciones de la librería utilizada en este ejercicio.
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"
Posteriormente crear la variable u objeto para el MPU6050, que en nuestro caso tiene el
nombre de: “sensor”
MPU6050 sensor;
En este caso la dirección I2c es 0x68, pero si deseamos trabajar con otra dirección debemos
modificar la linea anterior:
MPU6050 sensor(0x69);
Teniendo en cuenta que la resolución de las lecturas es de 16 bits por lo que el rango de
lectura es de -32768 a 32767.
En el void loop() realizamos las lecturas y las guardamos en sus variables respectivas, esto se
hace con las siguientes funciones:
La primera función lee la aceleración de los componentes x-y-z como parámetro, es necesario
dar la dirección de las variables como argumento, para lo que se usa: &variable.
La segunda función realiza la lectura de la velocidad angular y guarda las lecturas en sus
respectivas variables.
Conforme movamos el sensor los componentes de aceleración irán cambiando en función del
ángulo del sensor, puesto que la gravedad siempre es paralela al eje "Z" y se descompondrá
en las componentes x-y-z del sensor.
Resultados
Discusión de resultados
Como puede ver, leer los valores brutos del sensor MPU6050 es fácil, pero esta información y
necesitamos realizar un cálculo adicional en esta información para obtener el guiñada, el tono y el
rodillo.
Ya hemos mencionado que en el sensor MPU6050, hay un procesador especial llamado DMP o
procesador de movimiento digital que está incrustado en el mismo chip que el acelerómetro y el
giroscopio. El uso de este DMP es que se puede programar con un firmware para realizar cálculos
complejos en los datos de los sensores.
Conclusiones
Esta práctica nos sirvió para comprender los conceptos acerca del sensor MPU6050 y sobre las
lecturas de éste mismo, así como diseñar el circuito en el software de diseño Fritzing, lo cual nos
ayuda a comprender de una forma ideal el funcionamiento de los circuitos. Sin lugar a dudas, el
empleo de los sensores nos permiten mejoras en algún proceso que se esté llevando a cabo,
traducidas en: exactitud, seguridad, disminución de tiempos, pocas fallas, etc.
Cuestionario
1. Cuantos grados de libertad tiene el MPU6050? 6 grados de libertad (DoF) pues combina un
acelerómetro de 3 ejes y un giroscopio de 3 ejes.
2. Para esta práctica, qué librerías se incluyeron?
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"
3. Función que lee la aceleración de los componentes x-y-z como parámetro.
sensor.getAcceleration(&ax, &ay, &az);
4. Que es un acelerómetro? Es un dispositivo que proporciona la capacidad de medir y analizar la
aceleración lineal y angular.
5. Que es un giroscopio? dispositivo mecánico que sirve para medir, mantener o cambiar la
orientación en el espacio de algún aparato o vehículo.
6. ¿Cómo funciona el giroscopio? El eje rojo es el eje de rotación del disco. El verde es el eje respecto
del que se hace girar el plano de rotación del disco. El azul es el eje respecto del cual se manifiesta,
en este caso, el efecto giroscópico, dándole un segundo sentido de giro al plano de rotación del
disco.
7. Qué es el efecto giroscopico? El efecto giroscópico se da cuando dos cuerpos están en rotación
alrededor de un eje de simetría, es decir la rueda debe de girar sobre su propio eje, después se la
obliga a girar en otro eje perpendicular al de la misma rueda.
8. Cuales son los tipos de acelerómetro? acelerómetros capacitivos MEMS, acelerómetros
piezoeléctricos y acelerómetros piezorresistivos.
9. Que ventajas tiene el MPU6050? elimina los problemas de alineación del eje transversal que puede
arrastrarse hacia arriba en porciones discretas. Las piezas integran el algoritmo MotionFusion para
9 ejes ‘pueden incluso acceder a magnetómetros externos u otros sensores a través de un bus I2C
auxiliar maestro, permitiendo reunir un conjunto completo de dispositivos sensores de datos, sin la
intervención del procesador del sistema.
10. Con qué unidades se toman las lecturas con el MPU6050? Unidades de aceleración y velocidad
angular.
Bibliografía
naylampmechatronics.com. (s.f.). Recuperado el 8 de octubre de 2021, de
https://naylampmechatronics.com/blog/45_tutorial-mpu6050-acelerometro-y-giroscopio.html