找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2046|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

零知開源分享 - MPU6050六軸數(shù)據(jù)輸出

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
MPU6050模塊應(yīng)用于零知平臺(tái),使用該模塊測(cè)量三軸加速度和三軸陀螺儀數(shù)據(jù)。
硬件準(zhǔn)備
(1)零知開發(fā)板-標(biāo)準(zhǔn)板
  
(2)MPU6050模塊
   
(3)杜邦線若干
1、電路連接
模塊的SCL和SDA分別與零知標(biāo)準(zhǔn)板的I2C接口連接即A5和A4腳,供電3.3V,其他腳默認(rèn)。



2、程序燒錄
打開零知開發(fā)工具,找到相應(yīng)代碼即可。




3、核心代碼如下:
  1. /* I2C interface MPU6050 demo
  2. * powered by  零知實(shí)驗(yàn)室
  3. */
  4. #include "MPU6050.h"

  5. // 默認(rèn)I2C地址為 0x68
  6. // AD0 low = 0x68
  7. // AD0 high = 0x69

  8. MPU6050 accelgyro;

  9. int16_t ax, ay, az;//三軸加速度值
  10. int16_t gx, gy, gz;//三軸陀螺儀值

  11. float nax,nay,naz;
  12. float ngx,ngy,ngz;//轉(zhuǎn)換后的實(shí)際值

  13. #define LED_PIN LED_BUILTIN
  14. bool blinkState = false;

  15. void setup() {

  16.     Serial.begin(9600);

  17.     // MPU6050初始化設(shè)置
  18.     Serial.println("Initializing I2C devices...");
  19.     accelgyro.initialize();

  20.     // verify connection
  21.     Serial.println("Testing device connections...");
  22.         if(accelgyro.testConnection()){
  23.                 Serial.println("MPU6050 connection successful");
  24.         }else{
  25.                 Serial.println("MPU6050 connection failed");
  26.         }
  27.      
  28.     //使用LED進(jìn)行指示
  29.     pinMode(LED_PIN, OUTPUT);
  30.          
  31. //        accelgyro.setFullScaleAccelRange(MPU6050_ACCEL_FS_16);//加速度參數(shù)
  32. //        accelgyro.setFullScaleGyroRange(MPU6050_GYRO_FS_500);//陀螺儀
  33. }

  34. void loop() {
  35.     // 獲取原始的數(shù)值:三軸加速度值和三軸陀螺儀數(shù)值
  36.     accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

  37.     // 分別獲取
  38.     //accelgyro.getAcceleration(&ax, &ay, &az);
  39.     //accelgyro.getRotation(&gx, &gy, &gz);

  40.     // 顯示打印
  41.     Serial.print(" acc:\t");
  42.     Serial.print(ax); Serial.print("\t");
  43.     Serial.print(ay); Serial.print("\t");
  44.     Serial.print(az); Serial.print("\t");
  45.         Serial.print("\t gyro:\t");
  46.     Serial.print(gx); Serial.print("\t");
  47.     Serial.print(gy); Serial.print("\t");
  48.     Serial.println(gz);
  49.          
  50.         //實(shí)際數(shù)值轉(zhuǎn)換
  51.         accelgyro.readNormalizeAccel(&nax,&nay,&naz);
  52.         accelgyro.readNormalizeGyro(&ngx,&ngy,&ngz);
  53.         Serial.print("Normalize acc:\t");
  54.     Serial.print(nax); Serial.print("\t");
  55.     Serial.print(nay); Serial.print("\t");
  56.     Serial.print(naz); Serial.print("\t");
  57.         Serial.print("\t Normalize gyro:\t");
  58.     Serial.print(ngx); Serial.print("\t");
  59.     Serial.print(ngy); Serial.print("\t");
  60.     Serial.println(ngz);

  61.     // blink LED to indicate activity
  62.     blinkState = !blinkState;
  63.     digitalWrite(LED_PIN, blinkState);

  64.     delay(300);
  65. }
復(fù)制代碼
完整工程可到零知實(shí)驗(yàn)室官網(wǎng)免費(fèi)獲取。

4、當(dāng)我們讀取到原始數(shù)值后需要進(jìn)行轉(zhuǎn)換才能得到實(shí)際的值,完整代碼已經(jīng)做了轉(zhuǎn)換,結(jié)果如下:




更多詳細(xì)資料可到零知實(shí)驗(yàn)室官網(wǎng)免費(fèi)獲取。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:421308 發(fā)表于 2019-7-26 11:28 | 只看該作者
這個(gè)就是轉(zhuǎn)換后的值了
回復(fù)

使用道具 舉報(bào)

板凳
ID:267330 發(fā)表于 2019-7-30 08:59 | 只看該作者
這個(gè)就是轉(zhuǎn)換后的值了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表