国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一起玩兒物聯(lián)網(wǎng)人工智能小車(chē)(ESP32)——71 姿態(tài)傳感器MPU6050的使用方法

這篇具有很好參考價(jià)值的文章主要介紹了一起玩兒物聯(lián)網(wǎng)人工智能小車(chē)(ESP32)——71 姿態(tài)傳感器MPU6050的使用方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

摘要:本文介紹姿態(tài)傳感器MPU6050的使用方法

姿態(tài)傳感器是一種用于測(cè)量物體姿態(tài)的傳感器,它可以檢測(cè)物體的加速度和角速度,并計(jì)算出物體的方向和角度。前邊介紹的RPI-1031只能定性的得到物體的傾斜情況,而姿態(tài)傳感器則可以定量的得到物體傾斜的方向和角度。

MPU6050是一種常用的姿態(tài)傳感器,它具有高精度、低功耗和成本低廉的特點(diǎn)。本文將介紹MPU6050的基本原理、工作方式、應(yīng)用領(lǐng)域以及優(yōu)缺點(diǎn)。

MPU-6050是全球首例6軸運(yùn)動(dòng)處理傳感器。它集成了3軸微機(jī)電系統(tǒng)(Microelectro Mechanical Systems, MEMS)陀螺儀和3軸MEMS加速度計(jì),以及板載數(shù)字運(yùn)動(dòng)處理器(Digital Motion Processor, DMP)。加速度計(jì)可以檢測(cè)物體的線(xiàn)性加速度,而陀螺儀可以檢測(cè)物體的角速度。因此,MPU-6050可以測(cè)量物體在x、y、z三個(gè)方向上的加速度和角速度。通過(guò)將加速度計(jì)和陀螺儀的測(cè)量結(jié)果進(jìn)行數(shù)據(jù)融合,可以計(jì)算出物體的方向和角度。所以,MPU-6050常應(yīng)用于平衡車(chē)、飛行器等需要檢測(cè)自身姿態(tài)的場(chǎng)景。

前面所說(shuō)的幾軸通常指加速度傳感器(即加速計(jì))、角速度傳感器(即陀螺儀)、磁感應(yīng)傳感器(即電子羅盤(pán))的數(shù)量,這三類(lèi)傳感器測(cè)量的數(shù)據(jù)在空間坐標(biāo)系中都可以被分解為X,Y,Z三個(gè)方向軸的力,因此也常常被稱(chēng)為3軸加速度計(jì)、3軸陀螺儀、3軸磁力計(jì)。

上面3類(lèi)傳感器有其各自的功能特點(diǎn)及應(yīng)用,比如加速度計(jì)可以測(cè)量設(shè)備的線(xiàn)性加速度,陀螺儀可以測(cè)量設(shè)備自身的旋轉(zhuǎn)角速度,還有磁力計(jì)可以檢測(cè)設(shè)備的方位。通過(guò)它們相互組合和匹配融合又可以衍生出更多的不同應(yīng)用,在叫法上通過(guò)這樣簡(jiǎn)單的軸數(shù)上相加的可以變成六軸傳感器或者九軸傳感器。

六軸傳感器:通常指的是三軸加速度計(jì)+三軸陀螺儀,三軸加速度計(jì)是檢測(cè)三個(gè)方向的加速度的,三軸陀螺儀是檢測(cè)旋轉(zhuǎn)角速度,因此可以用在平衡車(chē)、體感游戲機(jī)以及飛行器上。

九軸傳感器:就是三軸加速度計(jì)+三軸陀螺儀+三軸磁力計(jì)的組合,在飛行器上是廣泛應(yīng)用的。另外,在九軸傳感器基礎(chǔ)上再加入氣壓傳感器,從而能獲取海拔高度的數(shù)據(jù),人們通常稱(chēng)之為十軸傳感器。

通常使用的MPU6050模塊如下所示:

esp32 mpu6050,基于ESP32的物聯(lián)網(wǎng)人工智能小車(chē),硬件功能模塊,物聯(lián)網(wǎng),人工智能,ESP32,單片機(jī)

那么MPU6050所對(duì)應(yīng)的坐標(biāo)系和角速度方向如下所示:

esp32 mpu6050,基于ESP32的物聯(lián)網(wǎng)人工智能小車(chē),硬件功能模塊,物聯(lián)網(wǎng),人工智能,ESP32,單片機(jī)

在上圖中可以看到,向右為X軸正方向,向前為Y軸正方向,垂直模塊向上為Z軸正方向。旋轉(zhuǎn)角的方向按右手法則定義,即右手大拇指指向軸向,四指彎曲的方向即為繞該軸旋轉(zhuǎn)的方向。

為了稱(chēng)呼方便,給這三個(gè)旋轉(zhuǎn)角又起了三個(gè)不同的名字:

橫滾角(Roll):即為繞X軸旋轉(zhuǎn)方向的角度;

俯仰角(Pitch):即為繞Y軸旋轉(zhuǎn)方向的角度;

偏航角(Yaw):即為繞Z軸旋轉(zhuǎn)方向的角度;

這三者合稱(chēng)為姿態(tài)角或歐拉角(Euler angles)。通過(guò)一架飛機(jī)的姿態(tài)來(lái)理解這三個(gè)角度,應(yīng)該更容易一些,如下所示:

esp32 mpu6050,基于ESP32的物聯(lián)網(wǎng)人工智能小車(chē),硬件功能模塊,物聯(lián)網(wǎng),人工智能,ESP32,單片機(jī)

MPU6050作為首款6軸的姿態(tài)傳感器,擁有以下一些特性:

1.以數(shù)字形式輸出6軸或9軸(需外接磁力傳感器——通過(guò)XCL、XDA進(jìn)行通信)的旋轉(zhuǎn)矩陣、四元數(shù)(quaternion)、歐拉角格式(Euler Angle forma)的融合演算數(shù)據(jù)(需DMP支持)。

2.具有測(cè)量范圍為±250、±500、±1000 與±2000°/sec的3軸角速度感測(cè)器(陀螺儀)。

3.集成可程序控制,測(cè)量范圍為±2g、±4g、±8g和±16g的3軸加速度傳感器。

4.自帶數(shù)字運(yùn)動(dòng)處理(DMP:Digital Motion Processing)引擎,可減少M(fèi)CU進(jìn)行復(fù)雜的融合演算、傳感器同步化、姿勢(shì)感應(yīng)等的負(fù)荷。

5.自帶一個(gè)數(shù)字溫度傳感器。

6.可程序控制的中斷(interrupt)(INT接口的功能),支持姿勢(shì)識(shí)別功能。

7.自帶1024字節(jié)FIFO,有助于降低系統(tǒng)功耗

8.高達(dá)400KHz的IIC通信接口

MPU6050模塊引腳的功能如下表所示:

引腳

功能

VCC、GND

電源供電,直流3.3V~5V

SCL、SDA

I2C通信引腳(模塊已經(jīng)內(nèi)置兩個(gè)4.7K上拉電阻,因此接線(xiàn)時(shí)可以直接把SCL和SDA接在GPIO口上)

XCL、XDA

主機(jī)I2C通信引腳(為了擴(kuò)展芯片功能,通常用于外接磁力計(jì)或者氣壓計(jì))

AD0

從機(jī)地址最低位(接0則7位從機(jī)地址為1101000;接1則7位從機(jī)地址為1101001)

INT

中斷輸出引腳(可以配置芯片內(nèi)部事件以觸發(fā)中斷引腳的輸出)

接下來(lái)就來(lái)看一個(gè)簡(jiǎn)單的例子,通過(guò)一個(gè)程序來(lái)獲得MPU6050的測(cè)量數(shù)據(jù)。首先把MPU6050與ESP32擴(kuò)展板相連接,連接的方法如下:

MPU6050

ESP32擴(kuò)展板

VCC

+5V

GND

GND

SCL

P22

SDA

P21

接下來(lái)是下載一個(gè)支持MPU6050的庫(kù),在A(yíng)rduino IDE中,有很多關(guān)于MPU6050的庫(kù),我所選擇的是MPU6050_tockn庫(kù),如下圖所示:

esp32 mpu6050,基于ESP32的物聯(lián)網(wǎng)人工智能小車(chē),硬件功能模塊,物聯(lián)網(wǎng),人工智能,ESP32,單片機(jī)

使用MPU6050_tockn庫(kù)讀取MPU6050模塊的信息需要以下幾步:

  1. 引入頭文件MPU6050_tockn.h
  2. 創(chuàng)建MPU6050對(duì)象
  3. 調(diào)用begin()方法進(jìn)行初始化
  4. 調(diào)用calcGyroOffsets()方法進(jìn)行自檢
  5. 調(diào)用update()方法更新數(shù)據(jù)
  6. 調(diào)用各種方法得到各種需要的數(shù)據(jù)了。

具體代碼如下所示:

#include?<MPU6050_tockn.h>

#include?<Wire.h>

MPU6050 mpu6050(Wire);

long?timer = 0;

void?setup()?{

? Serial.begin(9600);

? Wire.begin();

? mpu6050.begin();

? mpu6050.calcGyroOffsets(true);

}

void?loop()?{

? mpu6050.update();

? if(millis()?- timer > 1000){

? ?

? ? Serial.println("=======================================================");

? ? Serial.print("temp : ");Serial.println(mpu6050.getTemp());

? ? Serial.print("accX : ");Serial.print(mpu6050.getAccX());

? ? Serial.print("\taccY : ");Serial.print(mpu6050.getAccY());

? ? Serial.print("\taccZ : ");Serial.println(mpu6050.getAccZ());

?

? ? Serial.print("gyroX : ");Serial.print(mpu6050.getGyroX());

? ? Serial.print("\tgyroY : ");Serial.print(mpu6050.getGyroY());

? ? Serial.print("\tgyroZ : ");Serial.println(mpu6050.getGyroZ());

?

? ? Serial.println("=======================================================\n");

? ? timer = millis();

? ?

? }

}

在這個(gè)程序中,讀取了原始的加速度和角速度數(shù)據(jù)。至于更多的數(shù)據(jù)以及更多的應(yīng)用,未來(lái)將會(huì)有一個(gè)關(guān)于平衡車(chē)的主題,在那里會(huì)進(jìn)行更詳細(xì)的介紹。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-861016.html

到了這里,關(guān)于一起玩兒物聯(lián)網(wǎng)人工智能小車(chē)(ESP32)——71 姿態(tài)傳感器MPU6050的使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包