方舟計畫
【Arkduino飛行教室】MPU6050姿態演算
完成度100%
瀏覽人數:333

【Arkduino飛行教室】

在這裡可以找到所有Arduino系列相關的專案。

        MPU6050是一款近幾年無論在Maker界或是商業應用上皆十分熱門的慣性感測元件(Inertial Measurement Unit,IMU),其中融合了三軸加速度計及三軸陀螺儀。    這款InvenSense於2010年推出的IC能如此成功,除了其低成本、高靈敏度、應用範圍廣等特色以外,最大的功臣為內建的Digital Motion Processor(DMP),這內建功能強大的小模組可以直接在MPU6050內完成加速度計與陀螺儀的Sensor Fusion,傳出四元數、尤拉角,免去了以往繁複的矩陣轉換以及減輕微控制器的運算壓力。這麼好康的內建功能當然就是我們今天的主題啦!

(圖片截自:http://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/)

 

首先我們去GitHub下載i2cdevlib

 

下載完之後我們將i2cdevlib-master資料夾解壓縮後放入(C:\Users\user\Documents\Arduino\libraries)的路徑內

 

 

接著我們開啟i2cdevlib-master資料夾,再進入裡面的Arduino資料夾並找到I2Cdev資料夾,將I2Cdev裡面的四個檔案複製貼上到MPU6050資料夾內

 

再將MPU6050資料夾內除了Examples資料夾以外的檔案全部複製並在Examples內的MPU6050_DMP6資料夾內貼上

 

接著開啟MPU6050_DMP6,並將第117行的//define OUTPUT_TEAPOT改成define OUTPUT_TEAPOT

 

上傳完之後我們就可以開始拿出MPU6050

Arduino與MPU6050的接法為:
VCC <---> 3.3V
GND <---> GND
SDA <---> A4
SCL <---> A5
INT <---> D2

連接完我們打開Arduino IDE右上角的Serial Monitor,將Baud Rate設成115200

 

接著在上方文字框內隨意輸入任何文字(例如ArkLab)並按Send

 

 

如果有開始跑出數值的話就代表我們已經成功一半囉!
有了DMP的協助,現在MPU6050已經直接跑出YAW,PITCH,ROW的值了~
可是單單只有數字不過癮,我們當然要著手讓它圖像化,這時候Processing就該亮麗登場!

 

我們先下載最新版Processing以及需要的library--toxiclibs
同樣的我們安裝好Processing之後將toxiclibs-complete-0020資料夾解壓縮放到C:\Users\user\Documents\Processing\libraries資料夾內

 

 

接著我們就回到剛剛MPU6050_DMP6的資料夾內,發現上面居然有個Processing資料夾,讓我們開啟MPUTeapot.pde

 

 

按下左上角長得像播放鍵的Run

 

 

飛機的姿態就出來了!
趕快動一動手中的MPU6050模組,就會發現小飛機隨著手的姿態一起轉動囉~

 

 

延伸閱讀:

1.MPU6050 Datasheet: http://www.seeedstudio.com/wiki/images/b/b1/MPU6050.pdf

2.陀螺儀及加速度計介紹:http://www.instructables.com/id/Accelerometer-Gyro-Tutorial/?ALLSTEPS

P.S.
我們的FB社團"Drone Maker-飛行器自造工坊"也時常會有各種學術討論
歡迎大家一起加入討論學習喔!