Project tutorial

Visualising 3D Motion of IMU sensor © LGPL

In this tutorial you will learn how to visualize the motion of IMU (Inertial Measurement Unit) sensor, "MPU-6050 [6DOF]" in 3D.

  • 25,400 views
  • 7 comments
  • 31 respects

Components and supplies

Apps and online services

About this project

Before diving into the software part, let's assemble our hardware kits.

What is an MPU-6050 sensorThe MPU-6050 devices combine a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die, together with an onboard Digital Motion Processor (DMP), which processes complex 6-axisMotionFusion algorithms. So, now you will be able to decipher the meaning of 6DOF- 6 degrees of freedom.

These MotionTracking devices are designed for the low power, low cost, and high-performance requirements of smartphones, tablets and wearable sensors.

For the details about the connection schematic and hardware setup, kindly refer to my previous blog.

Now, let's come to the processing software, which will facilitate the 3D visualization of this motion sensor.

Software required:

Considering that you already have installed ArduinoIDE involving two separate IDEs might make you feel a bit confused. Well, there's no need to panic. Follow the steps below and all your doubts will be cleared up!

Processing is quite similar to ArduinoIDE except for a few specialized functions. So, you'll see an influence/similarity in ProcessingIDE.

Figure 1 and Figure 2  will make my statements clear.

So, we see that there's a stunning visual similarity in both these IDEs. Now that you've installed the Processing IDE, you need to download a special library named "Toxi" for processing purpose. Locating a "Toxi" file can be very hectic on the world wide web. So, I've made it easier for you by uploading it to my github. Click on this link and download the file named “toxiclibs-complete-0020”. Next, extract the folder . Copy the "toxiclibs-complete-0020" folder and paste it under the "libraries" folder of Processing.Cant find "libraries folder"? then, make one! yeah. if you can't find a "libraries" folder, make a folder and name it as "libraries". Now, paste your "toxiclibs-complete-0020" folder inside it.Having followed these steps properly, run the Processing IDE. Time to code!In order to visualise the 3D visualization , you need to first upload the Arduino code for MPU-6050 (Extract the .ino file from MPU6050_DMP6.rar folder). After having done so, you need to make certain alterations as below.You need to comment this code which says:

#define OUTPUT_READABLE_YAWPITCHROLL by // #define OUTPUT_READABLE_YAWPITCHROLL  

likewise, uncomment the code that says:

//#define OUTPUT_TEAPOT by #define OUTPUT_TEAPOT  

Next, open the processing example for the MPU-6050. Go to toolbar, click on File -> Open. And then navigate to the folder where you had installed the MPU-6050 library for Arduino. You can easily locate the processing example : follow the flow sequence: MPU6050 > Examples >MPU6050_DMP6 > Processing > MPUTeapot.As you did in case of ArduinoIDE, likewise in this case, check the serial-port which is defined in it. Now, check the code.You'll see that by default, the line defines it for linux/mac users as:

String portName = "/dev/ttyUSB1";    

You need to change String portName to the port on which your Arduino is connected. Refer to Figure 3.

For windows users, comment this code as:

//String portName = "/dev/ttyUSB1";   

Likewise, uncomment this code as: 

//String portName ="COM15"; by String portName ="COM15";   

Replace "COM15" with the COM port on which your arduino is connected (check this by going into arduino and Tools -> Serial Port). So, finally the setup is complete, now it's just a matter of few minutes!Upload the Arduino code (MPU6050_DMP6) through Arduino.Note: DO NOT OPEN THE SERIAL MONITOR while the process is underway.(Why? because we will visualize the code on ProcessingIDE instead of ArduinoIDE)

Next, run the processing code (MPUTeapot) by pressing the button with "play" symbol. You will see a small plane like object.Wait for about 10-12 seconds for the MPU-6050 values to get stabilised. After which, you will see the 3D model moving accordingly with the MPU-6050 sensor.Refer to the GIF below .For better understanding go to YouTube

Design your own customised Flight simulator Instruments in my next tutorial.

Kindly comment below, if you are facing any problems regarding the hardware / software setup.

Code

Complete Project Code
Download this folder and follow the instructions that have been specified in this tutorial.

Schematics

Schematic Circuit Diagram
Follow my previous blog post for step-by-step tutorial on setting up an IMU(MPU-6050)sensor with an Arduino. Link (https://www.hackster.io/Aritro/getting-started-with-imu-6-dof-motion-sensor-96e066)
Circuit

Comments

Similar projects you might like

Getting started with IMU (6 DOF) motion sensor

Project tutorial by Aritro Mukherjee

  • 72,532 views
  • 19 comments
  • 42 respects

Complete Digital Clock Including Alarm and Motion Sensor

Project tutorial by LAGSILVA

  • 12,689 views
  • 11 comments
  • 50 respects

LED Controlled by 3D Gesture Sensor

Project tutorial by HomeMadeGarbage

  • 6,503 views
  • 0 comments
  • 20 respects

3DCG Control Using TouchDesigner & 10 DOF Mems IMU Sensor

Project tutorial by HomeMadeGarbage

  • 3,569 views
  • 0 comments
  • 12 respects

DIY Flight Instruments for Horizon and Compass

Project tutorial by Aritro Mukherjee

  • 23,492 views
  • 15 comments
  • 54 respects
Add projectSign up / Login