Convertir la aceleración en ángulo desde el sensor MPU6050 I2C
Componentes y suministros
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Aplicaciones y servicios en línea
![]() |
| |||
![]() |
|
Acerca de este proyecto
Hace un tiempo publiqué un tutorial sobre cómo conectar el Acelerómetro, giroscopio y sensor de brújula MPU9250 a Arduino Nano y programarlo con Visuino para enviar paquetes de datos y mostrarlos en un osciloscopio e instrumentos visuales.
El acelerómetro envía aceleración X, Y y Z efectivo. Sin embargo, a menudo necesitamos convertir las fuerzas en ángulos 3D X, Y, Z para determinar la Orientación 3D del sensor. Muy pocas personas solicitaron este tutorial, y finalmente encontré tiempo para hacerlo.
Algunas personas también preguntaron cómo se puede conectar y usar el sensor de giroscopio y acelerómetro MPU6050 , así que decidí usar este módulo para el tutorial en lugar del MPU9250 , más complejo y costoso .
En este tutorial, le mostraré lo fácil que es conectar el sensor de giroscopio y acelerómetro MPU6050 a Arduino Nano y programarlo con Visuino para convertir la Aceleración en un ángulo 3D X, Y, Z .
Paso 1:componentes

- Un Arduino placa compatible (uso Arduino Nano, porque tengo uno, pero cualquier otro estará bien)
- Un módulo de sensor de giroscopio de aceleración MPU6050
- 4 Mujer-Mujer cables de puente
Paso 2:Conecte el acelerómetro y giroscopio MPU6050 a Arduino




- Conecte la alimentación VCC de 5 V ( Cable rojo ), Suelo ( Cable negro ), SCL ( Cable amarillo ) y SDA ( Cable verde ) al Módulo MPU6050 ( Imagen 1 )
- Conecta el otro extremo del cable de tierra ( Cable negro ) a un suelo pin del Arduino Nano tablero ( Imagen 2 )
- Conecte el otro extremo del cable de alimentación VCC de 5 V ( Cable rojo ) al 5V pin de alimentación del Arduino Nano tablero ( Imagen 2 )
- Conecte el otro extremo del cable SDA ( Cable verde ) a SDA / Pin analógico 4 del Arduino Nano tablero ( Imagen 3 )
- Conecte el otro extremo del cable SCL ( Cable amarillo ) a SCL / pin analógico 5 del Arduino Nano tablero ( Imagen 3 )
- Imagen 4 muestra dónde está el suelo , 5V Alimentación, SDA / Pin analógico 4 y SCL / pin analógico 5 , pines del Arduino Nano
Paso 3:Inicie Visuino y seleccione el tipo de placa Arduino


Para comenzar a programar Arduino, necesitará tener el IDE de Arduino instalado desde aquí:http://www.arduino.cc/.
¡Asegúrate de instalar 1.6.7 o superior, de lo contrario, este tutorial no funcionará!
El Visuino :https://www.visuino.com también debe estar instalado.
- Inicie Visuino como se muestra en la primera imagen
- Haga clic en " Herramientas "botón en el Arduino componente ( Imagen 1 ) en Visuino
- Cuando aparezca el cuadro de diálogo, seleccione Arduino Nano como se muestra en Imagen 2
Paso 4:En Visuino:agregue y conecte MPU9650 y aceleración a componentes de ángulo




Primero, debemos agregar componentes para controlar el sensor MPU6050 y convertir la aceleración X, Y, Z en un ángulo 3D X, Y, Z:
- Escriba " 6050 "en el cuadro Filtro de la Caja de herramientas de componentes, luego seleccione" Acelerómetro Giroscopio MPU6000 / MPU6050 I2C "componente ( Imagen 1 ) y colóquelo en el área de diseño ( Imagen 2 )
- Escriba " ángulo "en el cuadro Filtro de la Caja de herramientas de componentes y, a continuación, seleccione" Aceleración al ángulo "componente ( Imagen 2 ) y colóquelo en el área de diseño ( Imagen 3 )
- Haga clic en " Fuera "cuadro del" Acelerómetro "caja que contiene las clavijas de aceleración X, Y, X del AcelerómetroGiroscopio1 componente para comenzar a conectar todos los pines de salida a la vez ( Imagen 3 )
- Mueva el mouse sobre la " X "pin de entrada de" In "del cuadro AccelerationToAngle1 componente. El Visuino separará automáticamente los cables para que se conecten correctamente al resto de las clavijas ( Imagen 3 )
- Conecte el " Out "pin del AcelerómetroGiroscopio1 componente a la " En "pin del I2C canal del Arduino componente ( Imagen 4 )
Paso 5:En Visuino:agregue el componente de paquete y 3 elementos analógicos binarios y conéctelos



Para enviar todos los datos de los canales a través del puerto serie desde Arduino, podemos usar el componente Packet para empaquetar los canales juntos y mostrarlos en Scope y Gauges en Visuino :
- Escriba " paquete "en el cuadro Filtro de la Caja de herramientas de componentes, luego seleccione el componente" Generador analógico sinusoidal "( Imagen 1 ) y colóquelo en el área de diseño
- En el Inspector de objetos, expanda el " Marcador de cabeza "propiedad ( Imagen 2 )
- En el Inspector de objetos, haga clic en " ... botón "( Imagen 2 )
- En el editor de bytes, escriba algunos números, como por ejemplo 55 55 ( Imagen 3 )
- Haga clic en el botón Aceptar . para confirmar y cerrar el editor
Paso 6:En Visuino:agregue 3 elementos analógicos binarios al componente del paquete y conéctelos





Para enviar todos los datos de los canales a través del puerto serie desde Arduino, podemos usar el componente Packet para empaquetar los canales juntos y mostrarlos en Scope y Gauges en Visuino :
- Haga clic en " Herramientas "botón del Paquete1 componente ( Imagen 1 )
- En " Elementos ", seleccione el editor" Analógico binario ”, Y luego haga clic en el botón" " 3 veces ( Imagen 2 ) para agregar 3 Elementos analógicos ( Imagen 3 )
- Haga clic en " Fuera "cuadro del" Acelerómetro "Caja que contiene los pines del AccelerationToAngle1 componente para comenzar a conectar todos los pines de salida a la vez ( Imagen 4 )
- Mueva el mouse sobre " En "pin de" Elements.Analog (Binary) 1 "elemento del Packet1 componente. El Visuino separará automáticamente los cables para que se conecten correctamente al resto de los pines ( Imagen 4 )
- Conecte el " Out "pin de salida del Packet1 componente al " En "pin de entrada del" Serial [0] "canal del" Arduino "componente ( Imagen 5 )
Paso 6:Genere, compile y cargue el código Arduino


- En Visuino , Presione F9 o haga clic en el botón que se muestra en Imagen 1 para generar el código Arduino y abrir el IDE de Arduino
- En Arduino IDE , haz clic en Subir , para compilar y cargar el código ( Imagen 2 )
Paso 7:Y juega ...





Puede ver el Acelerómetro MPU6050 y el sensor de giroscopio conectados y en funcionamiento. en Imagen 1 .
- En Visuino seleccione el puerto serie y, a continuación, haga clic en " Formato: "cuadro desplegable y seleccione Paquete1 ( Imagen 2 )
- Haga clic en " Conectar botón "( Imagen 2 )
- Si selecciona " Alcance ", verá el osciloscopio trazando los ángulos X, Y, Z a lo largo del tiempo ( Imagen 3 )
- Si selecciona " Instrumentos pestaña ", verá los indicadores mostrando la misma información ( Imagen 4 )
Puedes ver el sensor en acción en el video .
¡Felicitaciones! Has creado un Visuino proyecto que convierte Aceleración en ángulo del Acelerómetro MPU6050 y sensor de giroscopio .
En Imagen 5 puedes ver el Visuino completo diagrama.
También se adjunta el Visuino proyecto, que creé para este tutorial. Puedes descargarlo y abrirlo en Visuino :https://www.visuino.com
Código
- MPU6050AccelerationToAngleTutorial
MPU6050AccelerationToAngleTutorial Arduino
Proyecto Visuino completoSin vista previa (solo descarga).
Proceso de manufactura
- Funcionamiento y aplicaciones del sensor del acelerómetro
- Optimización de la detección de inclinación / ángulo de alta precisión:fundamentos del acelerómetro
- Registrador de temperatura Raspberry Pi
- Sensor de presión barométrica digital BMP180 I2C
- Envía los datos del sensor de un Arduino a otro usando Firebase
- Monitoreo de CO2 con sensor K30
- ¿Qué tan alto eres?
- Sensor capacitivo de huellas dactilares con Arduino o ESP8266
- Torre de sensores de nubes Arduino
- Pistola de agua con sensor de movimiento
- Mini radar con Arduino