国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CW32系列MCU的MPU6050姿態(tài)傳感器設(shè)計

jf_qE49KoVBr8 ? 來源:武漢芯源半導(dǎo)體 ? 2023-09-27 13:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、簡介

1.MPU6050是一種常用的六軸姿態(tài)傳感器模塊,結(jié)合了三軸陀螺儀和三軸加速度計,以及一個可擴(kuò)展的數(shù)字運動處理器DMP(Digital Motion Processor),可用I2C接口連接一個第三方的數(shù)字傳感器,比如磁力計。MPU6050 對陀螺儀和加速度計分別用了三個16 位的ADC(0~65535),將其測量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運動,傳感器的測量范圍都是用戶可控的,陀螺儀可測范圍為±250,±500,±1000,±2000°/秒(dps),加速度計可測范圍為±2,±4,±8,±16g。并有可編程的低通濾波器。MPU6050模塊的應(yīng)用場景非常廣泛,包括但不限于以下幾個領(lǐng)域:

(1)姿態(tài)感知與控制:通過讀取陀螺儀和加速度計的數(shù)據(jù),可以實時獲取物體的姿態(tài)信息,如傾斜角度、旋轉(zhuǎn)角度等。這在飛行器、機(jī)器人、無人車等項目中非常常見,用于實現(xiàn)姿態(tài)感知和控制。

(2)運動跟蹤與手勢識別:MPU6050可以用于捕捉人體運動軌跡,如手部的姿態(tài)和手勢,從而實現(xiàn)運動跟蹤、手勢識別、虛擬現(xiàn)實交互等應(yīng)用。

(3)震動檢測與防抖:結(jié)合加速度計,MPU6050可以檢測到物體的震動和沖擊,用于防抖技術(shù)、硬盤保護(hù)、運動檢測等。

(4)步態(tài)分析與健康監(jiān)測:MPU6050可以用于分析人體的步態(tài)特征和動作,用于健康監(jiān)測、運動分析、姿勢校正等。

二、所需物料+寄存器說明

.本實驗使用到了CW32F030C8小藍(lán)板、GY-521模塊、0.96寸OLED顯示屏Keil5開發(fā)環(huán)境

14cced38-5cf7-11ee-939d-92fbcf53809c.png
CW32F030C8小藍(lán)板
14d4ed76-5cf7-11ee-939d-92fbcf53809c.png
GY-521模塊

14eab19c-5cf7-11ee-939d-92fbcf53809c.png

實物展示

【GY-521模塊與單片機(jī)連線】:VCC<-->+3.3V

GND<-->GND

SCL<-->PB5

SDA<-->PB4

【OLED顯示屏與單片機(jī)連線】:VCC<-->+3.3V

GND<-->GND

SCL<-->PA1

SDA<-->PA2

注:SCL和 SDA是連接MCU的 IIC接口,MCU通過這個IIC 接口來控制MPU6050,另外還有一個 IIC 接口: XCL和XDA ,這個接口可用來連外部從設(shè)備比如磁力計,這樣就可以組成一個九軸傳感器。AD0是MPU6050的地址控制引腳,該引腳控制的是IIC 地址的最低位。MPU6050的默認(rèn)IIC地址是:0X68,如果AD0接VDD,則是0X69。需要注意的是:這里的地址0x68(110 1000)和0x69(110 1001)是不包含最低位的7位數(shù)據(jù),通常最低位用于表示IIC主機(jī)的讀取數(shù)據(jù)/寫數(shù)據(jù)模式。如默認(rèn)情況下對MPU6050進(jìn)行寫操作,則發(fā)送地址0xD0(1101 0000),讀操作則發(fā)送地址0xD1(1101 0001)。

寄存器說明:

1500e566-5cf7-11ee-939d-92fbcf53809c.png

該寄存器是配置陀螺儀輸出速率的分頻器,用于為MPU-6050生成采樣速率。這里有個公式:采樣頻率=陀螺儀輸出頻率/(1+采樣分頻數(shù))。當(dāng) DLPF(數(shù)字低通濾波器,見寄存器Configuration)禁用時,陀螺儀輸出頻率為8kHz;當(dāng) DLPF 使能,陀螺儀輸出頻率=1KHz。

15072c28-5cf7-11ee-939d-92fbcf53809c.png

該寄存器為陀螺儀和加速度計配置外部幀同步(FSYNC) 管腳的采樣和數(shù)字低通濾波(DLPF)設(shè)置。其中,數(shù)字低通濾波器DLPF由DLPF_CFG配置。根據(jù)下表所示的DLPF_CFG值對加速度計和陀螺儀進(jìn)行濾波。

150e1bd2-5cf7-11ee-939d-92fbcf53809c.png

FS為陀螺儀輸出頻率。SMPLRT_DIV由預(yù)設(shè)定的采樣頻率根據(jù)上述的公式計算得出。一般情況下,DPLF濾波頻率為采樣頻率的一半,如設(shè)定采樣頻率為50Hz,由表可知當(dāng)FS為1kHz,SMPLRT_DIV的值為1000/50-1=19。

150e1bd2-5cf7-11ee-939d-92fbcf53809c.png

該寄存器是用來觸發(fā)陀螺儀自檢和配置陀螺儀的滿量程范圍。其中,XG_ST、YG_ST、ZG_ST分別用來設(shè)置陀螺儀X軸、Y軸、Z軸自檢,置0則不觸發(fā)自檢。FS_SEL[1:0]用于設(shè)置陀螺儀的滿量程,如下表:

151c2182-5cf7-11ee-939d-92fbcf53809c.png

我們一般設(shè)置為3,即滿量程為±2000°/s

152d0326-5cf7-11ee-939d-92fbcf53809c.png

該寄存器是用來觸發(fā)加速度計自檢和配置加速度計的滿量程范圍。同時這個寄存器也可以用于配置數(shù)字高通濾波器(DHPF)。其中,XA_ST、YA_ST、ZA_ST分別用來設(shè)置加速度計X軸、Y軸、Z軸自檢,置0則不觸發(fā)自檢。AFS_SEL[1:0]用于選擇加速度計的滿量程范圍,如下表:

153a1f70-5cf7-11ee-939d-92fbcf53809c.png

我們一般設(shè)置為0,即滿量程為±2g

1548c318-5cf7-11ee-939d-92fbcf53809c.png

ACCEL_XOUT :由 2部分組成的 16位數(shù)值存儲最近X 軸加速度計的測量值。ACCEL_YOUT :由 2部分組成的 16位數(shù)值存儲最近Y 軸加速度計的測量值。ACCEL_ZOUT :由 2部分組成的 16位數(shù)值存儲最近Z 軸加速度計的測量值。

以ACCEL_XOUT為例,若倍率設(shè)定為2g,則意味著ACC_X取最小值-32768時,當(dāng)前加速度為沿X軸正方向2倍的重力加速度;若設(shè)定為4g,取-32768時表示沿X軸正方向4倍的重力加速度,以此類推。顯然,倍率越低精度越好,倍率越高表示的范圍越大,這要根據(jù)具體的應(yīng)用來設(shè)定。以ACC_X為例,若當(dāng)前設(shè)定的加速度倍率為4g,那么將ACC_X讀數(shù)換算為加速度的公式為:

1559aa2a-5cf7-11ee-939d-92fbcf53809c.png

g可取當(dāng)?shù)刂亓铀俣取?/p>

1563e92c-5cf7-11ee-939d-92fbcf53809c.png

該寄存器存儲最近加陀螺儀的測量值,構(gòu)成與加速度計測量值寄存器相同,不做贅述。

以GYR_X為例,若倍率設(shè)定為250度/秒,則意味著GYR取正最大值32768時,當(dāng)前角速度為順時針250度/秒;若設(shè)定為500度/秒,取32768時表示當(dāng)前角速度為順時針500度/秒。顯然,倍率越低精度越好,倍率越高表示的范圍越大。以GYR_X為例,若當(dāng)前設(shè)定的角速度倍率為1000度/秒,那么將GRY_X讀數(shù)換算為角速度(順時針)的公式為:

15734dae-5cf7-11ee-939d-92fbcf53809c.png

15878ad0-5cf7-11ee-939d-92fbcf53809c.png

該寄存器允許用戶配置電源模式和時鐘源,還提供了復(fù)位整個設(shè)備和禁用溫度傳感器的位。當(dāng)置SLEEP位為1時,MPU-60X0 可以進(jìn)入低功耗睡眠模式。該寄存器的最低三位用于設(shè)置系統(tǒng)的時鐘源選擇,默認(rèn)值是0(內(nèi)部8M RC振蕩),不過一般設(shè)置為1,即選擇x軸陀螺儀PLL作為時鐘源,以獲得更高精度的時鐘。DEVICE_RESET該位置 1,重啟內(nèi)部寄存器到默認(rèn)值。復(fù)位完成后該位自動清0。TEMP_DIS該位置 1,禁用溫度傳感器。

三、核心代碼

main.c:
#include "main.h"
#include "OLED.h"
#include "GY_521.h"
#include "MYI2C.h"
#include "Delay.h"


typedef struct{
  int16_t AX;
  int16_t AY;
  int16_t AZ;  
}MPU6050_Adata;  //MPU6050加速度計三軸數(shù)據(jù)


typedef struct{
  int16_t GX;
  int16_t GY;
  int16_t GZ;  
}MPU6050_Gdata;  //MPU6050陀螺儀三軸數(shù)據(jù)


MPU6050_Adata Adata;  //結(jié)構(gòu)體變量
MPU6050_Gdata Gdata;


void GY_521_Init(void)  //GY-521初始化
{
  GY521_GPIO_Init();  //GPIO初始化
  //解除睡眠,失能溫度傳感器,選擇X軸的陀螺儀時鐘
  WriteData(GY521_ADDR, MPU6050_PWR_MGMT_1, 0x09); 
  WriteData(GY521_ADDR, MPU6050_CONFIG, 0x06); //低通濾波
  WriteData(GY521_ADDR, MPU6050_SMPRT_DIV, 0x09); //1KHz十分頻為100Hz
  WriteData(GY521_ADDR, MPU6050_GYRO_CONFIG, 0x18);//陀螺儀最大量程
  WriteData(GY521_ADDR, MPU6050_ACCEL_CONFIG, 0x18);//加速度計最大量程
}


void MPU6050_GetData()  //獲取MPU6050六軸數(shù)據(jù)
{
  uint8_t MPU6050_Raw_Data[14]={0};
  //以MPU6050_ACCEL_XOUT_H為起始地址,連續(xù)讀取14字節(jié)的數(shù)據(jù)
  ReadData(GY521_ADDR,MPU6050_ACCEL_XOUT_H,MPU6050_Raw_Data,14);
  //數(shù)據(jù)處理
  Adata.AX=(MPU6050_Raw_Data[0]<<8)|MPU6050_Raw_Data[1];
  Adata.AY=(MPU6050_Raw_Data[2]<<8)|MPU6050_Raw_Data[3];
  Adata.AZ=(MPU6050_Raw_Data[4]<<8)|MPU6050_Raw_Data[5];
  Gdata.GX=(MPU6050_Raw_Data[8]<<8)|MPU6050_Raw_Data[9];
  Gdata.GY=(MPU6050_Raw_Data[10]<<8)|MPU6050_Raw_Data[11];
  Gdata.GZ=(MPU6050_Raw_Data[12]<<8)|MPU6050_Raw_Data[13];
}


int main()
{
  OLED_Init();   //OLED初始化
  GY_521_Init(); //GY-521初始化
  OLED_ShowString(1,1,"A:      G:");//提示:左列顯示加速度計數(shù)據(jù);右列顯示陀螺儀數(shù)據(jù)
  while(1)
  {
    MPU6050_GetData(); //獲取六軸數(shù)據(jù)
    OLED_ShowSignedNum(2,1,Adata.AX,5);
    OLED_ShowSignedNum(3,1,Adata.AY,5);
    OLED_ShowSignedNum(4,1,Adata.AZ,5);
    
    OLED_ShowSignedNum(2,9,Gdata.GX,5);
    OLED_ShowSignedNum(3,9,Gdata.GY,5);
    OLED_ShowSignedNum(4,9,Gdata.GZ,5);
    Delay_ms(100); //延時刷新
  }
}

四、效果演示

159a74ec-5cf7-11ee-939d-92fbcf53809c.png
平放
15b7e338-5cf7-11ee-939d-92fbcf53809c.png
向下傾斜
15d53d7a-5cf7-11ee-939d-92fbcf53809c.png
左傾斜向
15f0bd70-5cf7-11ee-939d-92fbcf53809c.png
直立

讀到的原始數(shù)據(jù)還不能直接使用,要轉(zhuǎn)化成四元數(shù),歐拉角后,獲得器件的姿態(tài)角才有用,而 MPU6050 自帶了數(shù)字運動處理器,即 DMP,并且,InvenSense 提供了一個 MPU6050 的嵌入式運動驅(qū)動庫,結(jié)合 MPU6050 的 DMP,可以將我們的原始數(shù)據(jù),直接轉(zhuǎn)換成四元數(shù)輸出,而得到四元數(shù)之后,就可以很方便的計算出歐拉角,從而得到y(tǒng)aw、roll和pitch。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2566

    文章

    53008

    瀏覽量

    767562
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367094
  • OLED
    +關(guān)注

    關(guān)注

    120

    文章

    6286

    瀏覽量

    228096
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124543
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    255

    瀏覽量

    1252

原文標(biāo)題:【CW32】基于CW32的MPU6050姿態(tài)傳感器的應(yīng)用

文章出處:【微信號:武漢芯源半導(dǎo)體,微信公眾號:武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    MPU6050可以測線加速度嗎?----基于Mems傳感器的運動目標(biāo)姿態(tài)識別系統(tǒng)(硬件部分)

    大家好,我最近在做畢業(yè)設(shè)計,題目叫做《基于Mems傳感器的運動目標(biāo)姿態(tài)識別系統(tǒng)(硬件部分)》,任務(wù)書要求求出姿態(tài)角,轉(zhuǎn)矩,還有位移,然后我就用的是MPU6050來測角加速度,然后就是
    發(fā)表于 04-25 21:10

    請問誰有mpu6050姿態(tài)傳感器的底層驅(qū)動程序?

    想要一個stm32f103c8t6控制mpu6050姿態(tài)傳感器的底層驅(qū)動程序
    發(fā)表于 08-05 04:35

    MPU6050姿態(tài)解算的原理是什么

    MPU6050姿態(tài)解算的原理是什么?MPU6050姿態(tài)解算的程序該如何去是實現(xiàn)呢?
    發(fā)表于 12-17 07:14

    MPU6050六軸傳感器的相關(guān)資料推薦

    一、MPU6050簡介MPU6050是InvenSense公司推出的全球首款整合性6軸運動處理組件,內(nèi)帶3軸陀螺儀和3軸加速度傳感器,并且含有一個第二IIC接口,可用于連接外部磁力傳感器
    發(fā)表于 02-10 06:15

    MPU6050姿態(tài)融合解算的相關(guān)資料推薦

    mpu6050是一個六軸傳感器包括三軸陀螺儀和三軸加速度,分別可以測得三軸的角速度、加速度。但是一般傳感器的原始數(shù)據(jù)都不能直接直接拿來用,都需要濾波和姿態(tài)融合解算。對于初學(xué)者來說卡爾曼
    發(fā)表于 02-10 06:25

    MPU6050的使用步驟

    ,還有內(nèi)置的溫度傳感器,在姿態(tài)解析方面應(yīng)用非常廣泛。某寶上的賣的也非常多。二、使用步驟1.引入庫代碼如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seab
    發(fā)表于 02-10 07:22

    shineblink MPU6050六軸傳感器測量物體姿態(tài)角的相關(guān)資料分享

    MPU6050六軸傳感器測量物體姿態(tài)角一、姿態(tài)角(歐拉角)基本概念二、代碼實現(xiàn)功能描述三、接線圖五、完整代碼六、代碼運行結(jié)果七、需要注意的地方一、姿
    發(fā)表于 02-10 07:42

    MPU6050的四元數(shù)解算姿態(tài)方法

    最近在研究小四軸的飛行,姿態(tài)檢測主要用到的傳感器MPU6050。從MPU6050讀出來的加速度和角速度數(shù)據(jù)最后要轉(zhuǎn)成姿態(tài),可以轉(zhuǎn)換成歐拉角
    發(fā)表于 11-07 10:39 ?2.2w次閱讀
    <b class='flag-5'>MPU6050</b>的四元數(shù)解算<b class='flag-5'>姿態(tài)</b>方法

    mpu6050姿態(tài)融合原理及程序代碼

    介紹了mpu6050姿態(tài)融合原理及程序代碼分析,MPU6050是一款姿態(tài)傳感器。主要介紹三種姿態(tài)
    發(fā)表于 12-11 13:31 ?7.4w次閱讀
    <b class='flag-5'>mpu6050</b><b class='flag-5'>姿態(tài)</b>融合原理及程序代碼

    mpu6050六軸傳感器模塊驅(qū)動程序源代碼分享

    本文為大家分享了mpu6050六軸傳感器模塊驅(qū)動程序源代碼,STM32F1讀取MPU6050的加速度和角度傳感器數(shù)據(jù)的初始化步驟,以及MPU6050
    發(fā)表于 12-11 14:26 ?3.8w次閱讀
    <b class='flag-5'>mpu6050</b>六軸<b class='flag-5'>傳感器</b>模塊驅(qū)動程序源代碼分享

    mpu6050姿態(tài)解算原理_mpu6050姿態(tài)解算程序

    mpu6050常用作提供飛控運行時的姿態(tài)測量和計算。本文首先介紹了MPU6050姿態(tài)解算的原理,其次詳細(xì)的介紹了mpu6050
    的頭像 發(fā)表于 03-09 09:15 ?4.4w次閱讀

    MPU6050傳感器的電路原理圖

    本文檔的主要內(nèi)容詳細(xì)介紹的是MPU6050傳感器的電路原理圖免費下載。
    發(fā)表于 05-29 08:00 ?42次下載
    <b class='flag-5'>MPU6050</b><b class='flag-5'>傳感器</b>的電路原理圖

    MPU6050姿態(tài)融合解算(DMP)

    MPU6050姿態(tài)融合解算(DMP)
    發(fā)表于 12-06 13:21 ?39次下載
    <b class='flag-5'>MPU6050</b><b class='flag-5'>姿態(tài)</b>融合解算(DMP)

    基于CW32MPU6050姿態(tài)傳感器的應(yīng)用

    一、簡介 1.MPU6050是一種常用的六軸姿態(tài)傳感器模塊,結(jié)合了三軸陀螺儀和三軸加速度計,以及一個可擴(kuò)展的數(shù)字運動處理DMP(Digital Motion Processor),可
    的頭像 發(fā)表于 10-10 16:42 ?3260次閱讀
    基于<b class='flag-5'>CW32</b>的<b class='flag-5'>MPU6050</b><b class='flag-5'>姿態(tài)</b><b class='flag-5'>傳感器</b>的應(yīng)用

    什么是姿態(tài)傳感器MPU6050

     MPU6050是6軸運動處理傳感器,它集成了3軸MEMS陀螺儀,3軸MEMS加速度計,以及一個可擴(kuò)展的數(shù)字運動處理DMP。使用它就是為了得到待測物體(如四軸飛行、平衡小車)x、y
    發(fā)表于 02-15 10:53 ?6327次閱讀
    什么是<b class='flag-5'>姿態(tài)</b><b class='flag-5'>傳感器</b><b class='flag-5'>MPU6050</b>