色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>MPU6050教程開源分享

MPU6050教程開源分享

2023-06-25 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

?

poYBAGSBqwqAE6nUAAKG6tloSi8599.jpg
?

?

第 2 步:簡介

?
?
?
poYBAGSBqxSAIze0AAJLam1v3f0662.jpg
?
1 / 3
?

MPU6050是世界上第一個集成 6 軸運動跟蹤設備,將 3 軸陀螺儀、3 軸加速度計和數字運動處理器? (DMP) 全部結合在一個小型 4x4x0.9mm 封裝中,即中間的集成電路,它基于I2C通信協議,具體不討論,參考MPU 6050的Datasheet

?

第 3 步:硬件

?
?
?
pYYBAGSBqxeAdFuRAAGGXfSWGaQ606.jpg
?
1 / 4
?

MPU 6050 采用模塊形式,有 8 個引腳,但不用擔心,我們將只使用 4 個重要引腳,足以與我們的 Arduino 板集成。

所以我們有 VCC,接地,它接受從 2v 到 5v 的任何輸入,因為這個板上有一個穩壓器,因此支持 3.3v 邏輯高電平和 5v 邏輯高電平。

接下來我們有一些 SMD 封裝的免費電阻器電容器,最重要的部分是 MPU6050 IC,它是一個 MEMS微機電系統,它根據軸位置的變化改變電壓。

該 IC 還有 SCL SDA,它們是 I2C 引腳,XDA 和 XCL 是輔助串行引腳,在本教程中我們不會將它們與 Arduino 一起使用,我們有 AD0,它是輔助端口和主端口之間的地址選擇,最后我們有 INT中斷引腳,

我們的 Arduino UNO 和 NANO 的連接如下:

VCC-5v

接地 - 接地

沙中線 - A5

SDA-A4

(對于其他 Arduino 板,只有 SDA 和 SCL 引腳發生變化。)

這就是連接的全部

(在UTSOURCE找到所有組件

第 4 步:安裝庫

?
?
?
pYYBAGSBqxqAN_SbAAA5l29ckAw074.png
?
1 / 2
?

在開始編碼之前,我們需要一個由 jarzebski 命名為 Arduino MPU-6050 的庫,

我們還需要內置的 Wire Library,因此我們只需安裝 MPU - 6050 Library。

這是MPU6050 庫的鏈接

要將新庫安裝到您的 Arduino IDE 中,您可以使用庫管??理器。

  • 打開 IDE 并單擊“Sketch”菜單,然后單擊“Include Library”> 選擇“Add.ZIP Library”選項。
  • 導航到 .zip 文件的位置并將其打開。

有關導入的更多信息,請參閱https://www.arduino.cc/en/guide/libraries

第 5 步:打開陀螺儀示例。

?
?
?
poYBAGSBqyGAEVyVAACPcp5dFy8042.jpg
?
1 / 2
?

將 MPU-6050 庫添加到 Arduino IDE 后,我們有很多示例可供選擇,例如

  • MPU6050_accel_pitch_roll
  • MPU6050_accel_simple
  • MPU6050_自由落體
  • MPU6050_gyro_pitch_roll_yaw
  • MPU6050_gyro_simple
  • MPU6050_運動
  • MPU6050_溫度

我們需要慢慢了解庫和基礎知識,所以讓我們從MPU6050_gyro_simple示例開始。

(你知道 MPU6050 也有一個溫度傳感器,但不是很準確所以我們沒有在這里討論它!)

第 6 步:理解代碼

?
?
?
pYYBAGSBqy-ACTt4AAGIpz-yw6c157.jpg
?
1 / 3
?

基本上在這個例子中,我們將查看我們的傳感器是否正常工作,因此我們將在串行監視器上顯示傳感器數據。

所以我們在設置部分開始串行監視器

Serial.begin(115200);

在此While 循環中,執行傳感器測試序列。

while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G))
{    Serial.println("Could not find a valid MPU6050 sensor, check wiring!");
delay(500);
}
有時我們正在做一個項目,并且必須將我們的傳感器設置在一個特定的方向,我們需要偏移量,我們不需要這個教程,
  • 但要更改偏移量,只需取消注釋這些行。
// mpu.setGyroOffsetX(155);
// mpu.setGyroOffsetY(15);
// mpu.setGyroOffsetZ(15);
( uncomment by removing "http://" )
  • 有一條校準線,它實際上會將我們的傳感器設置為平坦。
// Calibrate gyroscope. The calibration must be at rest.
// If you don't want calibrate, comment this line.
mpu.calibrateGyro();
記住偏移和校準是兩個不同的東西,偏移會給你定義的校準,例如,你可以以奇怪的角度安裝這個傳感器,但它會作為零的參考點。
  • 接下來是靈敏度,默認值為 3。
// Set threshold sensivty. Default 3.
// If you don't want use threshold, comment this line or set 0.
mpu.setThreshold(3);
  • 在檢查循環部分,完成了基本的硬件檢查。
void checkSettings()
{
Serial.println();

Serial.print(" * Sleep Mode:        ");
Serial.println(mpu.getSleepEnabled() ? "Enabled" : "Disabled");

Serial.print(" * Clock Source:      ");
switch(mpu.getClockSource())
{
case MPU6050_CLOCK_KEEP_RESET:     Serial.println("Stops the clock and keeps the timing generator in reset"); break;
case MPU6050_CLOCK_EXTERNAL_19MHZ: Serial.println("PLL with external 19.2MHz reference"); break;
case MPU6050_CLOCK_EXTERNAL_32KHZ: Serial.println("PLL with external 32.768kHz reference"); break;
case MPU6050_CLOCK_PLL_ZGYRO:      Serial.println("PLL with Z axis gyroscope reference"); break;
case MPU6050_CLOCK_PLL_YGYRO:      Serial.println("PLL with Y axis gyroscope reference"); break;
case MPU6050_CLOCK_PLL_XGYRO:      Serial.println("PLL with X axis gyroscope reference"); break;
case MPU6050_CLOCK_INTERNAL_8MHZ:  Serial.println("Internal 8MHz oscillator"); break;
}

Serial.print(" * Gyroscope:         ");
switch(mpu.getScale())
{
case MPU6050_SCALE_2000DPS:        Serial.println("2000 dps"); break;
case MPU6050_SCALE_1000DPS:        Serial.println("1000 dps"); break;
case MPU6050_SCALE_500DPS:         Serial.println("500 dps"); break;
case MPU6050_SCALE_250DPS:         Serial.println("250 dps"); break;
}

Serial.print(" * Gyroscope offsets: ");
Serial.print(mpu.getGyroOffsetX());
Serial.print(" / ");
Serial.print(mpu.getGyroOffsetY());
Serial.print(" / ");
Serial.println(mpu.getGyroOffsetZ());

Serial.println();
}
我強烈建議保留此循環。
  • 在循環部分,這是整個代碼中最重要的部分,即從我們的傳感器獲取值。首先我們需要調用值,使用 mpu.readRawGyro 或 mpu.readNormalizeGyro,現在原始和規范化的概念是這樣的,原始基本上是數字,規范化值是經過過濾器和計算的值,或者你可以說,處理過的數據。
void loop()
{
Vector rawGyro = mpu.readRawGyro();
Vector normGyro = mpu.readNormalizeGyro();
  • 我們有 3 個軸,稱為 xy 和 z,可以使用我們設置為 rawGyro 的變量名調用它們,后跟軸名,為了制作一個項目,我們將需要使用此變量名的 x、y 和 z 這 3 個值。軸命令。
Serial.print(" Xraw = ");
Serial.print(rawGyro.XAxis);
Serial.print(" Yraw = ");
Serial.print(rawGyro.YAxis);
Serial.print(" Zraw = ");
Serial.println(rawGyro.ZAxis);
Serial.print(" Xnorm = ");
Serial.print(normGyro.XAxis);
Serial.print(" Ynorm = ");
Serial.print(normGyro.YAxis);
Serial.print(" Znorm = ");
Serial.println(normGyro.ZAxis);
  • 最后,為了以舒適的速度查看值,讓我們將延遲從 10 增加到 1000
delay(10);
}
由于我們的示例代碼已準備就緒并且我們了解我們在代碼中做了什么,現在是上傳代碼和查看結果的時候了。

代碼可以在這里找到

?

第 7 步:在串口中查看結果

?
?
?
?
1 / 2
?

上傳完成后,是時候打開串行監視器并觀察輸出了:

不要忘記將串口與我們在代碼開頭定義的波特率相匹配,即115200

如果我們的接線和硬件正確,我們應該在串行端口上獲取每個軸的值,以獲取傳感器中原始和歸一化陀螺儀的變化。

Initialize MPU6050
* Sleep Mode:        Disabled
* Clock Source:      PLL with X axis gyroscope reference
* Gyroscope:         2000 dps
* Gyroscope offsets: 0 / 0 / 0
Xraw = -65.00 Yraw = 25.00 Zraw = -29.00
Xnorm = 0.00 Ynorm = 0.00 Znorm = 0.00
Xraw = -62.00 Yraw = 20.00 Zraw = -32.00
Xnorm = 0.00 Ynorm = 0.00 Znorm = 0.00
Xraw = -64.00 Yraw = 25.00 Zraw = -30.00
Xnorm = 0.00 Ynorm = 0.00 Znorm = 0.00
Xraw = -66.00 Yraw = 23.00 Zraw = -29.00
Xnorm = 0.00 Ynorm = 0.00 Znorm = 0.00
Xraw = -67.00 Yraw = 20.00 Zraw = -33.00
Xnorm = 0.00 Ynorm = 0.00 Znorm = 0.00
Xraw = -64.00 Yraw = 22.00 Zraw = -31.00
Xnorm = 0.00 Ynorm = 0.00 Znorm = 0.00

這是我們在串口上得到的日志。

第 8 步:下一步是什么?

?


評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 国产精品嫩草影视在线观看| 帅哥操帅哥| yellow日本动漫高清| 欧洲最强rapper潮水喷视频| 99在线观看视频| 欧美人妖12p| 成年人视频在线免费播放| 日本午夜福利无码高清| 俄罗斯bbbb| 午夜爽喷水无码成人18禁三级| 国产美女视频一区二区二三区| 迅雷哥在线观看高清| 极品少妇粉嫩小泬啪啪AV| 一区二区三区国产| 两个吃奶一个添下面视频| 97午夜伦伦电影理论片| 欧美一级成人影院免费的| 成人免费精品视频| 四虎精品久久久久影院| 国产偷窥盗摄一区二区| 亚洲午夜电影| 美女脱了内裤张开腿让男人爽 | 久久久高清国产999尤物| 最近中文字幕高清中文字幕MV| 免费撕开胸罩吮胸视频| 扒开美女下面粉嫩粉嫩冒白浆| 色橹橹欧美在线观看视频高| 国产乱国产乱老熟300部视频 | 顶级少妇AAAAABBBBB片| 无罩看奶禁18| 禁漫H天堂免费A漫| 24小时日本在线| 日本夜爽爽一区二区三区| 国产精品一区二区免费| 野花韩国中文版免费观看| 男女啪啪久久精品亚洲A| 成人网站国产在线视频内射视频| 无码11久岁箩筣| 久久re这里视频只有精品首页| 99re久久超碰视频精品| 日日摸夜夜添无码AVA片|