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

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

3天內不再提示

怎樣將Arduino與MPU6050連接

454398 ? 來源:工程師吳畏 ? 2019-07-29 08:56 ? 次閱讀

在進入項目之前,您需要了解MPU6050傳感器的一些基礎知識。 MPU-6050是一種IMU傳感器,在單個芯片上包含MEMS微機電系統)加速度計和MEMS陀螺儀。

這里是IMU傳感器,其中IMU代表慣性測量單元,是一種利用加速度計測量比力的裝置,使用陀螺儀測量角速率和使用磁強計測量磁場。

IMU傳感器用于自平衡機器人,飛機,手機,平板電腦,航天器,衛星,無人機,無人機(無人駕駛飛行器)等用于引導,位置檢測,方向檢測,運動跟蹤和飛行控制。

兩種常見的IMU是ADXL 335加速度計和MPU-6050。 ADXL 335包含一個3軸加速度計。

對于MPU-6050,它是一個六軸運動跟蹤設備,結合了3軸加速度計和3 -axis陀螺儀在一個芯片上。我們將在下一節中看到有關MPU6050的更多詳細信息。

簡介到MPU6050傳感器

MPU-6050是由InvenSense開發的六軸運動跟蹤設備。 MPU6050器件的主要特性如下所述。

三軸加速度計

三軸陀螺儀

數字輸出溫度傳感器

六個16位ADC(三個用于加速度計,三個用于陀螺儀)

集成數字運動處理器(DMP)

1024B FIFO緩沖區

六軸MPU-6050被稱為6 DoF(六自由度)設備,因為它提供六個輸出值(三個來自Accelerometer,三個來自Gyro)。 MPU-6050可以使用I2C協議進行通信。

數字運動處理器或DMP是一種嵌入式處理器,可以減少來自主處理器的計算負載,如Arduino,從加速度計,陀螺儀和外部磁力計獲取和處理數據。

將MPU6050與Arduino接口

如前所述,MPU6050僅支持I2C通信,因此必須僅連接到Arduino的I2C引腳。 Arduino的I2C引腳與模擬輸入引腳A4和A5復用,即A4為SDA,A5為SCL。

來到MPU6050,我們使用了一個提供8個引腳的普通分線板。上圖顯示了MPU6050分線板的原理圖。

在此,我們將使用SCL,SDA和INT引腳連接Arduino。

所需組件

硬件

Arduino UNO [在此處購買]

MPU6050分組板[在此處購買]

連接線[在此處購買]

軟件

Arduino IDE

處理(用于3D可視化)

電路圖

下圖顯示了MPU6050與Arduino UNO接口的電路圖。如前所述,MPU6050和Arduino之間的接口必須使用I2C協議實現。

因此,Arduino(A5)的SCL引腳連接到MPU6050的SCL引腳。同樣,Arduino(A4)的SDA引腳連接到MPU6050板的SDA引腳。

此外,我們將使用MPU6050的中斷功能來指示當1024字節FIFO緩沖區已滿時(或中斷)Arduino。因此,將MPU6050的INT引腳連接到Arduino UNO的外部中斷0(INT0)引腳,即引腳2.

注意:在I2C中通信時,MPU-6050始終充當從屬設備。

閱讀來自MPU6050的RAW值

在上傳實際程序之前,我們將首先看到一個簡單的程序來讀取加速度計,陀螺儀和溫度傳感器的原始值。只需將MPU6050的SCL和SDA線連接到Arduino(A4和A5)的相應I2C引腳,然后上傳以下代碼即可。

如果打開串行終端,您將獲得加速度計和陀螺儀的原始值以及溫度傳感器校準的溫度。數據看起來像這樣。

如您所見,閱讀原始數據來自MPU6050傳感器的數據很簡單但是這些數據我們需要對這些數據進行額外的計算才能得到偏航,俯仰和俯仰。

我已經提到了MPU6050傳感器,有一個特殊的處理器,稱為DMP或數字運動處理器,與加速度計和陀螺儀嵌入在同一芯片上。此DMP的使用是可以使用固件對其進行編程,以便對來自傳感器的數據執行復雜的計算。

但是沒有關于InvenSense的DMP的明確文檔因此我們錯過了直接在芯片上快速計算傳感器數據的方法。

Jeff Rowberg等人在DMP的逆向工程方面做得非常出色來自I2C信號分析的相關信息。

將代碼上傳到Arduino并測試MPU6050

在上傳代碼之前,我們需要為Arduino下載兩個庫。它們是I2Cdev和MPU6050。下載鏈接和官方GitHub鏈接如下所示。

I2Cdev:下載I2CDEV LIBRARY 或訪問GitHub LINK

MPU6050:下載MPU6050 LIBRARY 或訪問GitHub LINK

下載MPU6050庫并通過解壓縮下載的文件來提取內容。您將獲得一個名為“MPU6050”的文件夾。復制此文件夾并將其粘貼到Arduino的libraries文件夾中。

在我的情況下,它位于“C: Program Files(x86) Arduino libraries”。對I2Cdev庫做同樣的事情。

如果一切順利,請打開Arduino IDE并瀏覽以下路徑:文件 - 》示例 - 》 MPU6050 - 》示例 - 》 MPU6050_DMP6并打開示例代碼MPU6050_DMP6。

將此代碼上傳到Arduino(假設您已根據電路圖建立了連接)并且代碼為上傳,打開串口終端。

將串口終端的波特率設置為115200,您將得到以下文字。

“初始化DMP 。..

初始化I2C設備。..。..

測試設備連接。..

MPU6050連接成功

發送任何字符以開始DMP編程和演示:“

如果您沒有獲得任何數據或仍然獲取垃圾數據,只需重置Arduino。如果您查看最后一句,它會說“發送任何字符以開始DMP編程和演示”。因此,在串行監視器中鍵入任何字符,如1或a,然后發送它。只要您按Enter鍵,就可以開始在串行監視器上看到Yaw,Pitch and Roll(ypr)值。

注意:在此期間,請將MPU6050放在穩定的水平表面上。此外,等待MPU6050的值穩定10秒鐘。

根據接口Arduino和MPU6050的值進行處理中的3D建模

在項目的下一步中,我們將使用Processing IDE查看MPU6050傳感器的3D建模,您可以在其中查看傳感器數據的3D表示。 Processing是一種為電子藝術和視覺設計開發的編程語言和IDE。實際上,Arduino IDE也基于Processing編程語言。

要下載Processing IDE,請訪問 LINK 。使用給定鏈接下載并安裝Processing IDE。

下載處理IDE并安裝后(只需從下載的zip文件中解壓縮內容),您需要下載一個庫for Processing稱為“Toxi”。您可以從 LINK 下載Toxi庫。

我選擇了“toxiclibs-complete-0020”文件。下載此文件后,將內容解壓縮到名為“toxiclibs-complete-0020”的文件夾。

復制此文件夾并將其粘貼到Processing的libraries文件夾中。就我而言,它是“C: Users Ravi Documents Processing libraries”。

復制文件夾后,您就可以進行3D建模了。首先,您需要上傳先前的Arduino代碼(MPU6050_DMP6),只需稍加修改。

在Arduino IDE中打開MPU6050_DMP6(我們之前上傳的示例程序)。向下滾動到顯示以下內容的行。

#define OUTPUT_READABLE_YAWPITCHROLL

通過在其前面添加雙正斜杠來注釋此行。

//#define OUTPUT_READABLE_YAWPITCHROLL

此外,找到//#define OUTPUT_TEAPOT 的行,并通過刪除雙正斜杠取消注釋?,F在,您可以上傳代碼。我們在代碼中修改的不是將數據發送到串行終端,而是將其轉發到處理IDE。

現在,打開Processing IDE并單擊File - 》打開?,F在,導航到為Arduino安裝MPU6050庫的文件夾。打開名為“MPUTeapot”的Processing示例。

在我的示例中,此示例的位置為C: Program Files(x86) Arduino libraries MPU6050 Examples MPU6050_DMP6 Processing MPUTeapot。

此程序可自動選擇Arduino所連接的PORT編號。與此相關的代碼中的行是

字符串portName = Serial.list()[0];

指定Arduino的PORT編號的另一種方法是手動輸入COM端口號。為此,請注釋以上行并取消注釋以下行,并將COM端口號替換為Arduino所連接的相應COM端口號。

//String portName =“COM4”;

在點擊Processing中的運行按鈕之前,請確保Arduino IDE的串行監視器是關閉?,F在,單擊處理IDE中的運行按鈕。您將獲得一個具有類似結構的平面的窗口。在對MPU6050進行3D建模之前等待10秒。

通過屏幕上的3D對象可以看到MPU6050的移動。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Arduino
    +關注

    關注

    185

    文章

    6434

    瀏覽量

    185200
  • MPU6050
    +關注

    關注

    38

    文章

    304

    瀏覽量

    70037
收藏 人收藏

    評論

    相關推薦

    mpu6050芯片的INT中斷信號引腳和單片機之間需要接電阻嗎?

    mpu6050芯片的INT中斷信號引腳和單片機之間需要接電阻嗎? 我見有的電路圖里面沒有,有的卻說需要,到底是怎樣的?
    發表于 05-07 07:21

    MPU6050休眠后如何配置重力加速度喚醒MPU6050?

    MPU6050休眠后如何配置重力加速度喚醒MPU6050自己?
    發表于 05-07 06:19

    ADXL345和MPU6050的區別

    ADXL345和MPU6050是兩種常見的加速度計和陀螺儀傳感器,用于測量物體的加速度和旋轉速度。它們在設計、性能和應用方面有一些區別。在本文中,我們將對ADXL345和MPU6050的區別進行詳細
    的頭像 發表于 01-04 11:30 ?4380次閱讀

    mpu6050mpu6500哪個性能好

    MPU6050MPU6500都是InvenSense公司生產的高性能六軸陀螺儀和加速度計傳感器。它們被廣泛應用于各種領域,如移動設備、虛擬現實、機器人、汽車等。雖然它們之間有一些區別,但是無法簡單
    的頭像 發表于 12-21 16:54 ?3992次閱讀

    MPU-6000和MPU-6050產品說明書

    mpu6050模塊介紹?
    發表于 11-30 09:17 ?0次下載

    mpu6050無法獲取絕對角度嗎?

    之前用ADXL345是可以獲得相對于世界坐標的絕對傾角角度但用MPU6050(原子的例程),似乎只能獲得相對于初始化時的角度。 也就是初始化時候如果不是水平,而是傾斜30度(比如拿俯仰角來說),那么
    發表于 11-06 08:02

    MPU6050能用來測試速度嗎?

    MPU6050能用來測試速度么?
    發表于 10-25 08:15

    MCU\mpu6050 通信及電路原理圖

    SPI\IIC\RS485通信動態圖展示,MCU\mpu6050 通信及電路原理圖
    發表于 10-17 16:36 ?5次下載

    mpu6050航向角偏移怎么解決?

    為什么mpu6050航向角會偏移,在四軸上怎么解決偏移問題
    發表于 10-08 06:07

    請教關于一個MPU6050的問題

    ,樹莓派也能正常工作,但發現這個6050時有時無,程序讀也報錯,感覺像是在重啟: 一直查不出原因,后來,把電源至了某寶上現成的DC-DC模塊 發現,MPU6050工作一切正常。 于是懷疑到電源,用示波器
    發表于 10-04 21:09

    ArduinoMPU6050加速度計和陀螺儀教程

    自制云臺相機不一定要很笨重,試用MPU6050加速計、陀螺儀傳感器與Arduino就可以!同時解釋MPU6050的工作原理以及如何從中讀取數據,然后我們將給出兩個實際例子。
    發表于 09-26 06:14

    MPU6050使用互補濾波與卡爾曼濾波算法進行姿態解算

    MPU6050使用互補濾波與卡爾曼濾波算法進行姿態解算
    發表于 08-07 15:46 ?3次下載

    ArduinoMPU6050控制伺服電機

    電子發燒友網站提供《用ArduinoMPU6050控制伺服電機.zip》資料免費下載
    發表于 07-03 10:59 ?1次下載
    用<b class='flag-5'>Arduino</b>和<b class='flag-5'>MPU6050</b>控制伺服電機

    MPU6050運動跟蹤設備開源分享

    電子發燒友網站提供《MPU6050運動跟蹤設備開源分享.zip》資料免費下載
    發表于 06-29 14:57 ?3次下載
    <b class='flag-5'>MPU6050</b>運動跟蹤設備開源分享

    MPU6050教程開源分享

    電子發燒友網站提供《MPU6050教程開源分享.zip》資料免費下載
    發表于 06-25 15:18 ?8次下載
    <b class='flag-5'>MPU6050</b>教程開源分享
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>