Maker 必會:MPU6050+Arduino=Processing 展現姿態演算

Maker 必會:MPU6050+Arduino=Processing 展現姿態演算
展現姿態演算是什麼?對於視覺化的飛行姿態有多重要?讓我們一探究竟吧!

Maker 必會:MPU6050+Arduino=Processing 展現姿態演算

成為Maker的第一步,Motion 學習很重要

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/)
  1. 首先我們去 GitHub下載 i2cdevlib  (點擊下載)
  2. 下載之後請將 i2cdevlib-master 資料夾解壓縮後放入 (C:\Users\user\Documents\Arduino\libraries) 的路徑內
  3. 接著我們開啟 i2cdevlib-master 資料夾,再進入裡面的Arduino資料夾並找到 I2Cdev資料夾,將 I2Cdev 裡面的四個檔案複製貼上到MPU6050資料夾內

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

  5. 接著開啟 MPU6050_DMP6,並將 第117行 的//define OUTPUT_TEAPOT 改成 define OUTPUT_TEAPOT
  6. 接著選好我們的 Arduino板子及 COM Port 就可以編譯上傳,上傳完之後我們就可以開始拿出 MPU6050;
    Arduino與MPU6050的接法為
    VCC <—> 3.3V
    GND <—> GND
    SDA <—> A4
    SCL <—> A5

    INT <—> D2

     

  7. 連接完後,我們打開 Arduino IDE 右上角的 Serial Monitor,將 Baud Rate 設成115200,
  8. 接著在上方文字框內隨意輸入任何文字,例如 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 模組,就能發現小飛機會隨著手的姿態一起轉動哦!

 

閱讀小推薦:

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

#Maker教育 #台灣無人機 #飛行萬歲 #小編學習日記