• 基于六轴传感器MPU6050的加速度和角度值读取



    一 系统简介
    1.简介
    MPU-60x0 是全球首例 9 轴运动处理传感器。它集成了 3 轴MEMS陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP(Digital Motion Processor)。MPU-60x0 对陀螺仪和加速度计分别用了三个 16 位的 ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为 ±250,±500,±1000,±2000°/秒(dps),加速度可测±2,±4,±8,±16g。
    2.特性
    • 可读取加速度和角速度
    • 可读取温度
    • 可计算出倾斜角
    二 源码解析
     
    1.获取温度信息如下所示:
        short temp_per = MPU_Get_Temperature();

    2.获取倾斜角和加速度信息如下所示:

        MPU_Get_Accelerometer(&aacx,&aacy,&aacz);
        MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz);
    
        aacx = aacx + X_ACCEL_OFFSET;
        aacy = aacy + Y_ACCEL_OFFSET;
        aacz = aacz + Z_ACCEL_OFFSET;
    
        gyrox = gyrox + X_GYRO_OFFSET;
        gyroy = gyroy + Y_GYRO_OFFSET;
        gyroz = gyroz + Z_GYRO_OFFSET;

    3.计算倾斜角度信息如下所示:

    /****************************************************************************** 
    * 函数介绍: 计算 x, y, z 三轴的倾角 
    * 输入参数: 无 
    * 输出参数: data:角度结构体 
    * 返回值 : 无 
    ******************************************************************************/
    void MPU6050_Get_Angle(mpu6050_angle *data,short aacx,short aacy, short aacz)
    {   
        float f_aacx = float(aacx)/16384.0;
        float f_aacy = float(aacy)/16384.0;
        float f_aacz = float(aacz)/16384.0;
        /* 计算x, y, z 轴倾角,返回弧度值*/
        data->X_Angle = acos(f_aacx);
        data->Y_Angle = acos(f_aacy);
        data->Z_Angle = acos(f_aacz);
    
        TRACE("x_angle:%d y_angle:%d ",short(data->X_Angle),short(data->Y_Angle));
    
        /* 弧度值转换为角度值 */
        data->X_Angle = data->X_Angle * (double)57.29577;
        data->Y_Angle = data->Y_Angle * (double)57.29577;
        data->Z_Angle = data->Z_Angle * (double)57.29577;
    
    } 
    三 效果展示
    1.效果展示如下所示:
    四 参考文献
    1.角度检测文献
  • 相关阅读:
    C#异步调用的好处和方法
    asp.net运行原理
    基于jQuery的AJAX和JSON的实例
    Slq Server创建索引
    SQL查询一个表中类别字段中Max()最大值对应的记录
    优化SQL Server的内存占用之执行缓存
    ASP.NET缓存
    .NET Framework 4.5新特性
    ADO.NET 连接数据库字符串(Oracle、SqlServer、Access、ODBC)
    sql server基础
  • 原文地址:https://www.cnblogs.com/dylancao/p/16258785.html
Copyright © 2020-2023  润新知