樂黒風髙 发表于 2012-6-20 22:15:13

弘毅 发表于 2012-6-20 21:55 static/image/common/back.gif
角速度,或者重力加速度这些量。

谢谢大神!!开始试验!!!

樂黒風髙 发表于 2012-6-20 22:34:06

弘毅 发表于 2012-6-20 21:55 static/image/common/back.gif
角速度,或者重力加速度这些量。

再问BOSS一个问题,那个gyro跟ACC的偏移量的问题,数值传感器仿品了输出的是'0'么?因为偶做测试的时候用模拟传感器的放平输出是 509/510 也就是中置电压(0-1023)/2 那么offset应该怎么算?

王晶晶 发表于 2012-7-22 13:42:15

大概看懂了。。。过两天器件到了就做做看。。或说这里女滴好少:L:L:L:L:L:L:L

boygirls84 发表于 2012-7-22 19:44:05

就女孩子这个点就要回帖一下。先感谢该帖给了我这两IC的帮助。客气不说,回正题。这种利用ITG修正ADXL的算法,的确能令ADXL的读数很圆滑,不漂不抖,不收非重力的干扰。但却有个一个缺点,就是只支持三维中的上半卦限(1234卦限),当IC转到下半卦限(5678卦限)的时候,就镜像回去上半卦限。

boygirls84 发表于 2012-7-22 19:48:31

楼上有位仁兄用FreeSixIMU的算法能完全支持三维所有的卦限,这个是很有用的。感谢弘毅大哥和这位仁兄给我的帮助。

成可风 发表于 2012-7-31 17:23:35

同问48楼的问题,老大能帮我们解答下么,我目前遇到了一下几个问题,希望能得到boss的帮助啊
1、如果说RwAcc是加速度计输出的加速度值,gyro是角速度值,那RwGyro是什么呢?我怎么感觉和加速
   度计的各轴有点儿像呢?
2、最终的RwEst数值怎么理解呢?
3、rotateX()这个函数我查过,当里面为正参数时候,绕着X轴逆时针旋转相应的弧度,那voiddrawCube
    ()里面只有rotateX()和rotateZ(),为啥没有rotateY(),没想明白,陷入死角了,boss帮点播下吧
===========================================================
仔细阅读了那篇A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications.

对那篇算法的过程倒是能够弄清楚,但是为什么那样做就不清楚。

代码中
ARDUINO CODECOPYline(0, 0, 0, 1, 0, 0);line(0, 0, 0, 0, -1, 0);line(0, 0, 0, 0, 0, 1);line(0, 0, 0, -RwEst, RwEst, RwEst);
line(0, 0, 0, 1, 0, 0);
line(0, 0, 0, 0, -1, 0);
line(0, 0, 0, 0, 0, 1);
line(0, 0, 0, -RwEst, RwEst, RwEst);
为什么RwEst 前面需要加负号,我感觉是具体的方向变换这块没能够理解。

包括
ARDUINO CODECOPYrotateX(HALF_PI * -RwEst);rotateZ(HALF_PI * RwEst);
rotateX(HALF_PI * -RwEst);
rotateZ(HALF_PI * RwEst);
这块的代码,也是这样。谁能够具体讲讲坐标系以及方向具体怎么看

弘毅 发表于 2012-8-1 17:57:32

成可风 发表于 2012-7-31 17:23 static/image/common/back.gif
同问48楼的问题,老大能帮我们解答下么,我目前遇到了一下几个问题,希望能得到boss的帮助啊
1、如果说RwA ...

额。。。其实为什么这么用,我也还没弄懂,现在也晕着=.=也是直接用的别人的算法。。。那几篇英文文档到现在都没有勇气去翻译。。。

YANG 发表于 2012-8-7 21:48:13

楼主,我是新手,请问加载字体时需要怎么做?具体一点
-------------------------------------------------------------
// 加载字体,字体必须在代码文件同目录下的data文件夹中
font = loadFont("CourierNew36.vlw");
---------------------------------------------------------
显示的错误是 could not load the font

弘毅 发表于 2012-8-7 22:16:42

YANG 发表于 2012-8-7 21:48 static/image/common/back.gif
楼主,我是新手,请问加载字体时需要怎么做?具体一点
------------------------------------------------ ...

这个字体在processing目录下可以找到。直接搜索~

rellay 发表于 2012-8-12 13:07:18

本帖最后由 rellay 于 2012-8-12 13:11 编辑

各位大神,IIC读ITG3205时,读到数据都为0,IIC地址用的是0x68,//单字节读取*****************************************
unsigned char Single_Read(unsigned char SlaveAddress,unsigned char REG_Address)
{   unsigned char REG_data;          
        if(!I2C_Start())return FALSE;
    I2C_SendByte(SlaveAddress); //I2C_SendByte(((REG_Address & 0x0700) >>7) | REG_Address & 0xFFFE);//设置高起始地址+器件地址
    if(!I2C_WaitAck()){I2C_Stop();test=1; return FALSE;}
    I2C_SendByte((u8) REG_Address);   //设置低起始地址      
    I2C_WaitAck();
    I2C_Start();
    I2C_SendByte(SlaveAddress+1);
    I2C_WaitAck();

        REG_data= I2C_RadeByte();
    I2C_NoAck();
    I2C_Stop();
    //return TRUE;
        return REG_data;

}                                        if(!I2C_WaitAck()){I2C_Stop();test=1; return FALSE;}
测得test=1,是什么情况??

弘毅 发表于 2012-8-12 14:06:15

rellay 发表于 2012-8-12 13:07 static/image/common/back.gif
各位大神,IIC读ITG3205时,读到数据都为0,IIC地址用的是0x68,if(!I2C_WaitAck()){I2C_Stop();test=1; re ...

AD0与GND相连,地址是0x68,与VCC相连地址是0x69~~这两个你都试试。

rellay 发表于 2012-8-12 15:19:13

弘毅 发表于 2012-8-12 14:06 static/image/common/back.gif
AD0与GND相连,地址是0x68,与VCC相连地址是0x69~~这两个你都试试。

en ,试过了呢,还是不行诶

弘毅 发表于 2012-8-12 15:52:35

rellay 发表于 2012-8-12 15:19 static/image/common/back.gif
en ,试过了呢,还是不行诶

额。。。。检查模块有没有上拉电阻,没有自己加上,再不行。。。是不是模块是有问题的。

成可风 发表于 2012-8-13 11:31:34

本帖最后由 成可风 于 2012-8-13 11:32 编辑

弘毅 发表于 2012-8-12 15:52 static/image/common/back.gif
额。。。。检查模块有没有上拉电阻,没有自己加上,再不行。。。是不是模块是有问题的。

老大,问下你测试这个姿态模块的时候,时间间隔interval是多少?你视频显示的是16,什么单位的呢,我自己重新测试的时候,整个下来大概需要180ms,很是奇怪?求解惑啊,每个程序段都去计时检查了,文中算法这块检测的时间都是上100ms的,不知道是不是定时器出错呢,来确认下

成可风 发表于 2012-8-13 21:38:46

老大,能把两个模块的参考方向:加速度计的三个方向 和陀螺仪的绕3个轴的方向正负 截图个高清图看下么我感觉我弄错了两个器件的相对坐标
页: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14
查看完整版本: arduino学习笔记28 - ITG3200 ADXL345做姿态识别实验