查看: 1189|回复: 0

[项目] Mini四轴自动控制(三) MPU6050

[复制链接]

该用户从未签到

发表于 2018-8-25 21:08 | 显示全部楼层 |阅读模式
本帖最后由 zxldwlsj 于 2018-8-31 09:03 编辑

这一期主要介绍Arduino如何读取MPU6050的数据,当然网上有很多关于arduino读6050的资料。最重要的是Arduino有利用IIC读取6050数据的库文件,这里我把代码给出并做一下简单的注释。

kittenblock中小学创客名师推荐的图形化编程软件


#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"

 //实例化一个 MPU6050 对象,对象名称为 mpu
MPU6050 mpu; 

//陀螺仪和加速度计数据暂存
int16_t gx, gy, gz, ax, ay, az;

//陀螺仪和加速度计数据转换成国标单位存放变量
float Gyro_x; 
float Gyro_y;
float Gyro_z;
float Acc_x;
float Acc_y;
float Acc_z;

void setup() 
{
  Wire.begin();                            //加入 I2C 总线序列
  delay(100);
  mpu.initialize();                       //初始化MPU6050
  delay(100);
}
 
void loop() 
{
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);     //IIC获取MPU6050六轴数据 ax ay az gx gy gz
  DataProcessing();
}
//***************DataProcessing*********************//  
void DataProcessing()
{  
  //去掉偏移量
   Acc_x = ax-580;Acc_y = ay+120;Acc_z = az+1584; 
   Gyro_x = gx-70; Gyro_y = gy-10; Gyro_z = gz-50;
   
//换算成国标单位m/s2与rad/s
   Acc_x = Acc_x/16384*9.8; 
   Acc_y = Acc_y/16384*9.8;
   Acc_z = Acc_z/16384*9.8;
   Gyro_x = Gyro_x/131*3.1415926/180;
   Gyro_y = Gyro_y/131*3.1415926/180;
   Gyro_z = Gyro_z/131*3.1415926/180; 
}


I2Cdev.rar

13.7 KB, 下载次数: 30

IIC头文件

MPU6050.rar

78.43 KB, 下载次数: 27

6050头文件

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

热门推荐

KittenBot杯第六届开源硬件开发大赛启动啦
KittenBot杯第六届开源硬
大赛简介: 第六届开源硬件开发大赛由Arduino中文社区发起 由KittenBot冠名赞助
Blinker 模拟传感器+数字传感器例程(DHT11 温湿度+气体传感)
Blinker 模拟传感器+数字
才接触1星期,发现Blinker自带了很多例程,已经成功试验了DHT的例程序,并完善了体
一文教你选择Arduino开发板,小白进
一文教你选择Arduino开发
笔者在2016年接触了Arduino,跳了万条坑,行了千里弯,到今天也算是Arduino的一
[发布帖]RPG游戏 无人世界
[发布帖]RPG游戏 无人世界
视频攻略:https://www.bilibili.com/video/av43790997/ (b站正在审核) 剧情:主角是
【人脸识别】ESP-EYE 最新的板子到货了
【人脸识别】ESP-EYE 最新
1.我不会编程,最多抄几个一步一步的网络教程。 2.不知道为啥就是超级喜欢电子元件。
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
快速回复 返回顶部 返回列表