极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 弘毅

arduino学习笔记28 - ITG3200 ADXL345做姿态识别实验

  [复制链接]
发表于 2012-4-7 15:39:32 | 显示全部楼层
楼主 这个沿Z轴的转动检测不到的,中间的算法没看明白,
还有串口传的数据我的要改成整型才能正常使用。
回复 支持 反对

使用道具 举报

发表于 2012-4-8 21:57:06 | 显示全部楼层
请问一下为什么有时读数会突然停止?按一下复位才又开始读数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-8 22:25:20 | 显示全部楼层
moon 发表于 2012-4-8 21:57
请问一下为什么有时读数会突然停止?按一下复位才又开始读数

是processing吗。。。processing用串口获取数据,我常遇到刚启动无法读取的,也是需要复位一下。。不过运行中忽然卡住的还真没遇到过,波特率9600?速度太快有可能会卡中。。。
回复 支持 反对

使用道具 举报

发表于 2012-4-8 22:57:12 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-4-8 22:58:20 | 显示全部楼层
弘毅 发表于 2012-4-8 22:25
是processing吗。。。processing用串口获取数据,我常遇到刚启动无法读取的,也是需要复位一下。。不过运 ...

是arduino串口读取加速度值,我拿着面包板晃来晃去然后有时候突然就停止读数了,线好像没断开。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-8 23:15:35 | 显示全部楼层
moon 发表于 2012-4-8 22:58
是arduino串口读取加速度值,我拿着面包板晃来晃去然后有时候突然就停止读数了,线好像没断开。

那有可能是面包板和线夹得不是很紧。。。IIC线忽然接触不良,就不行了。。我有一块面包板有类似问题,不能乱动,一乱动就抽风了。。。
回复 支持 反对

使用道具 举报

发表于 2012-4-8 23:29:40 | 显示全部楼层
弘毅 发表于 2012-4-8 23:15
那有可能是面包板和线夹得不是很紧。。。IIC线忽然接触不良,就不行了。。我有一块面包板有类似问题,不能 ...

对对,确实是抽风这种情况
回复 支持 反对

使用道具 举报

发表于 2012-4-12 18:18:40 | 显示全部楼层
本帖最后由 Randy 于 2012-4-12 18:19 编辑


我用了国外一个人的库,为什么会只出现3个数值呢?

以下是大概的一个程序!
  1. #include <FreeSixIMU.h>
  2. #include <FIMU_ADXL345.h>
  3. #include <FIMU_ITG3200.h>

  4. #include <Wire.h>

  5. float angles[3]; // yaw pitch roll

  6. // Set the FreeSixIMU object
  7. FreeSixIMU sixDOF = FreeSixIMU();

  8. void setup() {
  9.   Serial.begin(9600);
  10.   Wire.begin();
  11.   
  12.   delay(5);
  13.   sixDOF.init(); //begin the IMU
  14.   delay(5);
  15. }

  16. void loop() {
  17.   
  18.   sixDOF.getEuler(angles);
  19.   
  20.   Serial.print(angles[0]);
  21.   Serial.print(" | ");  
  22.   Serial.print(angles[1]);
  23.   Serial.print(" | ");
  24.   Serial.println(angles[2]);
  25.   
  26.   delay(100);
  27. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-12 18:24:27 | 显示全部楼层
Randy 发表于 2012-4-12 18:18
我用了国外一个人的库,为什么会只出现3个数值呢?

以下是大概的一个程序!

感觉他这个直接输出的是已经融合后的三轴姿态数据。。。原始数据没有输出
回复 支持 反对

使用道具 举报

发表于 2012-4-13 10:25:14 | 显示全部楼层
弘毅 发表于 2012-4-12 18:24
感觉他这个直接输出的是已经融合后的三轴姿态数据。。。原始数据没有输出

这样的数据能清楚表明啥呢?原始数字才好观察!
回复 支持 反对

使用道具 举报

发表于 2012-5-3 19:59:47 | 显示全部楼层
#define GYRO 0x68 // 定义传感器地址,将AD0连接到GND口,传感器地址为二进制数11101000 (请参考你接口板的原理图)
数据手册上好像不是0x68.楼主确定没错?
回复 支持 反对

使用道具 举报

发表于 2012-5-4 16:27:59 | 显示全部楼层
mpu6050 用arduino自带测试软件测试出来的数值怎么换算成加速度和角度。还有我加速z轴的读数很大是怎么回事最大到1470左右?谢谢
回复 支持 反对

使用道具 举报

发表于 2012-5-6 08:42:52 | 显示全部楼层
太经典了!学习了!
回复 支持 反对

使用道具 举报

发表于 2012-5-16 11:36:00 | 显示全部楼层
请教下器件
如果陀螺仪或者加速度传感器
可否替换
比如 ITG3205 置换ITG3200
用 BMA180 置换ADXL345
代码部分需要更改哪些?(我的接口地址不变的情况下)
他们读出的数值需要做修正么(会不会不同的传感器读出来的数据格式不同?)
最近在尝试做一个飞行控制的自稳项目。

再次感谢!
回复 支持 反对

使用道具 举报

发表于 2012-5-16 11:38:17 | 显示全部楼层
祭司 发表于 2012-5-3 19:59
#define GYRO 0x68 // 定义传感器地址,将AD0连接到GND口,传感器地址为二进制数11101000 (请参考你接口板的 ...

。。。这个是你模块的地址,是你把传感器焊接到模块板上,然后板上定义的地址。。。。
打个比方,你的轿车有4个门, 但是你开到另外的停车场, 所谓的地址就是停车场上你某个车门对应的位置的标志。 你再换停车场 地址就又变了。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-24 17:12 , Processed in 0.056845 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表