一 系统简介
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.角度检测文献

基于六轴传感器MPU6050的加速度和角度值读取的更多相关文章

  1. Arduino101学习笔记(十三)—— 101六轴传感器

    一.相关API 1.begin:需要在其他CUIREIMU前调用 //***************************************************************** ...

  2. 如何利用小熊派获取MPU6050六轴原始数据

    摘要:使用小熊派开发板,通过硬件IIC与MPU6050六轴传感器模块通信,完成相应寄存器配置,成功获取陀螺仪.加速度计数据. 本问主要讲述使用小熊派开发板+MPU6050六轴传感器,获取加速度计以及陀 ...

  3. 六轴加速度传感器MPU6050官方DMP库到瑞萨RL78/G13的移植

    2015年的电赛已经结束了.赛前接到器件清单的时候,看到带防护圈的多旋翼飞行器赫然在列,又给了一个瑞萨RL78/G13的MCU,于是自然联想到13年的电赛,觉得多半是拿RL78/G13做四旋翼的主控, ...

  4. 【.NET 与树莓派】六轴飞控传感器(MPU 6050)

    所谓"飞控",其实是重力加速度计和陀螺仪的组合,因为多用于控制飞行器的平衡(无人机.遥控飞机).有同学会问,这货为什么会有六轴呢?咱们常见的不是X.Y.Z三轴吗?重力加速度有三轴, ...

  5. STM32—驱动六轴MPU6050输出欧拉角

    文章目录 一.MPU6050介绍 1.MPU6050与陀螺仪.加速度计的关系: 2.整体概括 3.引脚说明 4.基本配置及相关寄存器 电源管理寄存器1 陀螺仪配置寄存器 加速度计配置寄存器 FIFO使 ...

  6. Unity之串口通信(基于三姿态传感器)

    原地址:http://www.cnblogs.com/alongu3d/archive/2013/05/02/3054962.html /******************************* ...

  7. [算法][三轴、六轴、九轴传感器算法分析] 1、分享一个三轴加速计matlab动态可视化脚本

    一.有啥用 这里用的是LIS3DH三轴加速计,输出为X.Y.Z轴的加速度,通过串口连接电脑,电脑里运行matlab脚本通过串口实时获取数据并做可视化显示. 这里虽然是针对LIS3DH的,其实稍作修改即 ...

  8. Simulink S-Function的使用(以串口接收MPU6050六轴陀螺仪参数为实例)

    S-Function 允许使用自定义C/C++函数作为传递函数,具有可移植性.也可以同样利用MATLAB函数进行相同的运算,看开发者熟悉程度而定. 项目流程 由系统串口接收数据包. 通过S-Funct ...

  9. 重力加速度陀螺仪传感器MPU-6050(一)

    MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化 为可输出的数字量.为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±50 ...

  10. 基于I2C总线的MPU6050学习笔记

    MPU6050学习笔记 1. 简述 一直想自己做个四轴飞行器,却无从下手,终于狠下决心,拿出尘封已久的MPU6050模块,开始摸索着数据手册分析,一步一步地实现了MPU6050模块的功能,从MPU60 ...

随机推荐

  1. tp、laravel 伪静态配置

    一.Apache下的伪静态配置 <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On ...

  2. 深入浅出Java多线程(六):Java内存模型

    引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第六篇内容:Java内存模型.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在并发编程中,有两个关键问题至关 ...

  3. 极限挑战:使用 Go 打造百亿级文件系统的实践之旅

    JuiceFS 企业版是一款为云环境设计的分布式文件系统,单命名空间内可稳定管理高达百亿级数量的文件. 构建这个大规模.高性能的文件系统面临众多复杂性挑战,其中最为关键的环节之一就是元数据引擎的设计. ...

  4. 关于 javax.validation.constraints 的测试,以后用到的 会继续补充

    参见:https://www.cnblogs.com/xiaogangfan/p/5987659.html 1.@Size注解测试:

  5. Shell中调用可执行文件,手动执行可以执行,crontab执行就报错:exec: java: not found

    今天发现一个很奇怪的问题,就是我编写的shell脚本, 手动执行可以正常执行,但是放到crontab中就报错.line 60: exec: java: not  found 百度搜索发现原来是java ...

  6. 静态RMQ处理方式合辑

    这里汇集了所有我知道的静态区间最大值做法. \(O(n)\) 预处理,\(O(n)\) 回答. 每一次询问暴力处理即可. \(O(n^2)\) 预处理,\(O(1)\) 回答. 预处理出所有的答案. ...

  7. Laravel入坑指南(7)——中间件Middleware

    Laravel框架中引入了"中间件"这个概念,笔者觉得不是太合适.这里的Middleware和Java Servlet中的过滤器(Filter)就是一个东西,但是想比之下Filte ...

  8. Redis客户端汇总

    编程客户端 已经支持了许多编程语言,详见:https://redis.io/docs/clients/ 图形客户端 1.Another Redis Desktop Manager 支持哨兵, 集群, ...

  9. TCP Server and Client Demo

    server.go package main import ( "bufio" "fmt" "io" "net" &qu ...

  10. Mac环境下, VMware Fusion Pro下的虚拟机( CentOS 7)的 NAT网络配置

    前提实现说明 1.vm版本VMware Fusion Pro 12.1.0 2.centos版本centos7.6 1.虚拟机能访问外网,虚拟机能访问mac本机: 2.mac本机可以连接虚拟机 操作步 ...