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.
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!
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
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.
Complete Project Code
Did you replicate this project? Share it!I made one
Love this project? Think it could be improved? Tell us what you think!