本例使用 `lilypad` 鏈接MPU6050模塊, `arduino uno`作為usb下載器,具體連接方法請移步: http://www.cnblogs.com/hangxin1940/archive/2013/04/06/3002709.html ## lilypad 與 MPU6050的連接方法  lilypad與mpu6050相對應的引腳: *+* -> *VCC* *-* -> *GND* *a4* -> *SDA* *a5* -> *SCL* ## 下載i2cdev庫 https://github.com/jrowberg/i2cdevlib/archive/master.zip 解壓縮之后,將arduino文件夾下的代碼添加至arduino ide的類庫路徑 以ubuntu為例: cp -rf * /usr/share/arduino/libraries ## 測試程序 #include "Wire.h" #include "I2Cdev.h" #include "MPU6050.h" MPU6050 accelgyro; int16_t ax, ay, az; int16_t gx, gy, gz; //板載led引腳默認為13 int LED_PIN = 13; //led狀態信息 bool blinkState = false; void setup() { //接入i2c總線 Wire.begin(); Serial.begin(38400); //初始化設備 Serial.println("Initializing I2C devices..."); accelgyro.initialize(); //鏈接設備 Serial.println("Testing device connections..."); Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed"); //配置板載led引腳 pinMode(LED_PIN, OUTPUT); } //將原始值修正 void fix() { ax /= 16384; ay /= 16384; az /= 16384; gx /= 131; gy /= 131; gz /= 131; } //干干其他事 void process() { } void loop() { accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); //對原始價值做處理 fix(); //干干其他事 process(); Serial.print("a/g:\t"); //x,y,z軸加速度 Serial.print(ax); Serial.print("\t"); Serial.print(ay); Serial.print("\t"); Serial.print(az); Serial.print("\t"); //x,y,z軸角速度 Serial.print(gx); Serial.print("\t"); Serial.print(gy); Serial.print("\t"); Serial.println(gz); //控制板載led狀態 blinkState = !blinkState; digitalWrite(LED_PIN, blinkState); } 燒寫進lilypad后,可以看到led幾乎是長亮 ubuntu下查看串口信息 sudo ttylog -d /dev/ttyACM0 -b 38400 輸出: 