站内搜索
发作品签到
MPU6050姿态传感模块
标准版

MPU6050姿态传感模块

简介

此工程已经打样验证,MPU6050,内置DMP姿态解算模块,引出 VCC GND INT SDA SCL,至于 XDA XCL 没引出,用DMP解算之后配合匿名飞控上位机能够很好的进行姿态观测与解算。

简介:此工程已经打样验证,MPU6050,内置DMP姿态解算模块,引出 VCC GND INT SDA SCL,至于 XDA XCL 没引出,用DMP解算之后配合匿名飞控上位机能够很好的进行姿态观测与解算。

开源协议

GPL 3.0

创建时间:2021-07-22 19:26:03更新时间:2021-11-04 20:53:50

描述

图:1:

图片2:

MPU6050通信代码就不用说了

姿态解算出来的三个角度,传给Data_Send_Status函数就行

匿名上位机姿态解算代码如下,配合匿名上位机V7食用,采用TM4编写:

EBMCUSR1ztQ3bSTGsMxuXlsRZR3LWy338KeEmO4m.png

void usart_send_char(uint8_t c)
{
    UARTCharPutNonBlocking(UART0_BASE, c);
    while (UARTBusy(UART0_BASE))
        ;
}


void Data_Send_Status(float Pitch, float Roll, float Yaw)
{
    unsigned char i = 0;
    unsigned char _cnt = 0, sum = 0, add = 0;
    unsigned int _temp;
    unsigned char data_to_send[50];

    data_to_send[_cnt++] = 0xAA;
    data_to_send[_cnt++] = 0xFF;
    data_to_send[_cnt++] = 0x03;
    data_to_send[_cnt++] = 0x07;

    _temp = (int)(Roll * 100);
    data_to_send[_cnt++] = BYTE0(_temp);
    data_to_send[_cnt++] = BYTE1(_temp);
    _temp = 0 - (int)(Pitch * 100);
    data_to_send[_cnt++] = BYTE0(_temp);
    data_to_send[_cnt++] = BYTE1(_temp);
    _temp = (int)(Yaw * 100);
    data_to_send[_cnt++] = BYTE0(_temp);
    data_to_send[_cnt++] = BYTE1(_temp);
    data_to_send[_cnt++] = 0x00;

    //和校验
    for (i = 0; i < data_to_send[3] + 4; i++)
    {
        sum += data_to_send[i];
        add += sum;
    }
    data_to_send[_cnt++] = sum;
    data_to_send[_cnt++] = add;

    //串口发送数据
    for (i = 0; i < _cnt; i++)
        usart_send_char(data_to_send[i]);
}

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航