找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

[更好用的單片機(jī)]Stduino學(xué)習(xí)(二十九)MPU6050陀螺儀模塊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 Stduino 于 2020-8-17 18:58 編輯

說明:
MPU6050 陀螺儀傳感器具有很多強(qiáng)大的功能,采用單芯片封裝。該芯片由一個MEMS 加速度計,一個MEMS 陀螺儀和溫度傳感器組成。該模塊在將模擬量轉(zhuǎn)換為數(shù)字量時非常準(zhǔn)確,因?yàn)槊總通道都有一個16 位的模數(shù)轉(zhuǎn)換器硬件。

該模塊能夠同時捕獲 x ,y z 通道。它有一個I2C 接口與主控制器進(jìn)行通信。對于無人機(jī),機(jī)器人,運(yùn)動傳感器等許多應(yīng)用來說,這是一個非常有用的設(shè)備。它也被稱為陀螺儀或軸加速度計。


就像上面的圖片一樣,在一個立方體的盒子里面有一個小球,盒子的四壁是用石英晶體材料。當(dāng)盒子加速度發(fā)聲變化時,由于慣性的作用,球就會向與加速度方向相反的地方傾斜,當(dāng)小球碰到那里就會產(chǎn)生壓電電流,通過此電流可以確定該方向上加速度大小實(shí)際測得的是壓力的大小))
實(shí)際上,當(dāng)模塊靜止時, Z 軸方向上一直受到小球的擠壓(由于重力作用),也應(yīng)此,該模塊無法獲得物體在Z 軸上的旋轉(zhuǎn)角。如果必須要獲得絕對的旋轉(zhuǎn)角,那么可以選擇性MPU9250這個九軸運(yùn)動跟蹤芯片。


實(shí)驗(yàn)?zāi)康模?/strong>
在本例中,我們將學(xué)習(xí)如何將傳感器與 Stduino UNO一起使用,利用陀螺儀模塊監(jiān)測物體移動方向。

器材:
Stduino UNO / Nano; 杜邦線; MPU6050陀螺模塊

電路連接:
MPU6050-> Stduino UNO /納米
VCC-> 5V
GND->GND
SCL-> D9
SDA-> D10
XCL
XDA
AD0->接地
INT-> D2

重點(diǎn)說明:


代碼展示:
#include<Wire.h>
const int MPU6050_addr=0x68;
int16_t AccX,AccY,AccZ,Temp,GyroX,GyroY,GyroZ;
void setup(){
//D9 SCL
//D10 SDA
//5V
//GND
Wire.begin();
Wire.beginTransmission(MPU6050_addr);
Wire.write(0x6B);
Wire.write(0);
Wire.endTransmission(true);
Serial.begin(9600);
}
void loop(){
Wire.beginTransmission(MPU6050_addr);
Wire.write(0x3B);
Wire.endTransmission(false);
Wire.requestFrom(MPU6050_addr,14,true);//按順序讀取數(shù)據(jù)
AccX=Wire.read()<<8|Wire.read();//X軸方向的加速度分量
AccY=Wire.read()<<8|Wire.read();//Y軸方向的加速度分量
AccZ=Wire.read()<<8|Wire.read();//Z軸方向的加速度分量
Temp=Wire.read()<<8|Wire.read();
GyroX=Wire.read()<<8|Wire.read();//繞X軸旋轉(zhuǎn)的角速度GYR_X
GyroY=Wire.read()<<8|Wire.read();//繞Y軸旋轉(zhuǎn)的角速度GYR_Y
GyroZ=Wire.read()<<8|Wire.read();//繞Z軸旋轉(zhuǎn)的角速度GYR_Z
Serial.print("AccX = "); Serial.print(AccX);
Serial.print(" || AccY = "); Serial.print(AccY);
Serial.print(" || AccZ = "); Serial.print(AccZ);
Serial.print(" || Temp = "); Serial.print(Temp/340.00+36.53);
Serial.print(" || GyroX = "); Serial.print(GyroX);
Serial.print(" || GyroY = "); Serial.print(GyroY);
Serial.print(" || GyroZ = "); Serial.println(GyroZ);
delay(100);
}


實(shí)驗(yàn)效果:
窗口監(jiān)視器,如下圖所示:



Stduino IDE是一款面向32位處理器快速入門學(xué)習(xí)的集成開發(fā)平臺,目前已經(jīng)支持Arduino_Core_STM32框架,集聚快捷、高效、免費(fèi)、開源、易得于一身,軟件還集成了GDB調(diào)試功能。IDE當(dāng)前支持的功能有:

    GDB調(diào)試
    封裝庫下載安裝
    代碼自動補(bǔ)全提示
    中英文模式
    UTF-8\GBK編碼格式
    代碼快速格式化
    SWD\串口程序下載&調(diào)試(已驗(yàn)證)
    DFU程序下載方式(待驗(yàn)證)
    USB HID程序下載方式(待驗(yàn)證)
    maple DFU程序下載方式(待驗(yàn)證)
    maple DFU2程序下載方式(待驗(yàn)證)
    MassStorage程序下載方式(待驗(yàn)證)

更多功能細(xì)節(jié)請點(diǎn)擊圖片上水印顯示的網(wǎng)址進(jìn)行了解

已經(jīng)支持的芯片&板型列表:

    Stduino UNO&Nano
    Nucleo 144 boards
    Nucleo 64 boards
    Nucleo 32 boards
    Discovery boards
    Eval boards
    STM32MP1 series coprocessor boards
    Generic STM32F0 boards
    Generic STM32F1 boards
    Generic STM32F3 boards
    Generic STM32F4 boards
    Generic STM32H7 boards
    Generic STM32L0 boards
    3D printer boards
    LoRa boards
    Electronic Speed Controller boards
    Generic flight controllers
    Garatronics boards
    Midatronics boards

更多功能集成正在進(jìn)行中~




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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