Use MPU6050 (GY-521) on the Arduino

官方網站的 MPU6050 介紹
https://playground.arduino.cc/Main/MPU-6050

系統環境

  • Arduino 1.8.3
  • Processing 3.3.5

Arduino 與 MPU6050 的接法

1
2
3
4
5
VCC <---> 3.3V / 5V (GY-521 上有 voltage regulator)
GND <---> GND
SDA <---> A4
SCL <---> A5
INT <---> D2

MPU6050 吐出 Raw Data

下載i2cdevlib
使用裡面附的 MPU6050_raw.ino 範例
Setp 1. 把 i2cdevlib/Arduino/I2Cdev 放到 ~/Arduino/libraries/
Setp 2. 把 i2cdevlib/Arduino/MPU6050 放到 ~/Arduino/libraries/
Setp 3. 打開 arduino > Examples > MPU6050 > MPU6050_raw.ino 編譯上傳即可
Setp 4. 打開 Serial Monitor 調整一下 baud rate (MPU6050_raw.ino 範例是使用 38400), 就可以看到資料一直吐出來了!

顯示 IMU 姿態在畫面上

使用 MPU6050_DMP6.ino 配合 processing IDE 的 Toxi 函式庫

Setp 1. 修改 MPU6050_DMP6.ino 與上傳
註解下段 code

1
//#define OUTPUT_READABLE_YAWPITCHROLL

解開下段 code

1
#define OUTPUT_TEAPOT

Setp 2. 下載 processing IDE 安裝 Toxi 函式庫
下載 Toxi 函式庫 toxiclibs-complete-0020.zip

將 toxiclibs-complete-0020 資料夾解壓縮放到 ~/sketchbook/libraries/
i2cdevlib/Arduino/MPU6050/examples/MPU6050_DMP6/Processing/MPUTeapot/MPUTeapot.pde 放到 ~/sketchbook/examples/MPUTeapot/MPUTeapot.pde

Setp 3. 用 processing IDE 打開 MPUTeapot.pde 按 run
也可以指定com port:

1
2
3
String portName = Serial.list()[0];
把上列修改成下面
String portName = "/dev/ttyACM0"; // or /dev/ttyUSB1

PS. 約需10秒才會穩定,待穩定後可翻轉 GY-521