Neil 发表于 2012-6-25 13:03:29

求救!关于电子罗盘倾斜补偿

最近在掏寶買了塊"BMP085 9九軸IMU磁場加速度陀螺儀大氣壓強模塊",可以直接對應在Arduino的IIC傳輸,我目前知道想要補正羅盤的水平偏差需要用加速度計去補償,所以我現在想用這塊模組上的兩個芯片HMC5883L電子羅盤、ADXL345加速度規來做,我在下面的網站中有找到罗盘补偿的範例教學:
罗盘补偿范例教学
还有只有罗盘的范例教学:
罗盘教学
我下载她们的范例档并放到Arduino的Library,成功在Arduino1.01通过编译
但是很奇怪的问题是我将BMP085模块放在一个跷跷板上做试验,当跷跷板开始倾斜时罗盘补偿的范例并没有补正反而还出现角度飘很大的现象,因为她有两个值一个是有经过倾斜补偿另一个值一个没有,我单独看没有补偿的值,再将只有单独罗盘的范例烧入进去看结果,结果在同一个水平上两个的值并没有一样,甚至我故意让平台倾斜结果得到的值比有补偿还要稳,我不懂其中的原因,我看了两个范例的library还是没有一个结论,可以请各位高手们帮我试试是哪里出了问题,感激不尽!! !!(使用罗盘补偿程式需要下载两个范例加入加速度规跟罗盘的程式,下面是两个范例网址:
罗盘教学
加速度规教学(用加速度规需要更改程式中其中一行才能通过编译accel = ADXL345(); 改成accel = ADXL345(0x53);)

ChocolateUni 发表于 2012-6-25 15:41:28

好文章. 非常棒.

url不能直接点击,弘毅看一下.

弘毅 发表于 2012-6-25 17:24:41

ChocolateUni 发表于 2012-6-25 15:41 static/image/common/back.gif
好文章. 非常棒.

url不能直接点击,弘毅看一下.

:lol修改好了。。。URL名字和地址。。位置反了。。

弘毅 发表于 2012-6-27 09:00:34

{:soso_e154:} 这种补偿的高级用法,目前只知道heaven大大用的很熟。。。

Neil 发表于 2012-6-27 15:27:22

想请问Arduino资料夹里的Library都会有一个是.h档和.cpp档最后就是一个放程式的资料夹
据小弟了解.h档是所谓的标头档
.cpp档是所谓的实作档
不知道有没有错误
因为对这两个的定义并不是很清楚
为什么要分成这样?
不直接写在一起就好了呢?

弘毅 发表于 2012-6-27 18:11:35

Neil 发表于 2012-6-27 15:27 static/image/common/back.gif
想请问Arduino资料夹里的Library都会有一个是.h档和.cpp档最后就是一个放程式的资料夹
据小弟了解.h档是所 ...

这里有一篇assiss和大Q等爱好者翻译的一片库介绍文档,里面有比较详细说明,可以参考一下。

http://wiki.geek-workshop.com/doku.php?id=arduino:hacking:librarytutorial

Neil 发表于 2012-6-30 20:51:32

多谢弘毅大哥提供的资讯,小弟我会努力的研读...........

BlackCat 发表于 2012-7-7 08:53:29

把你的代码贴出来,还有接线方式画出来,方便大家帮你处理问题。:lol

aeroboy 发表于 2012-7-19 13:20:22

加速度规教学(用加速度规需要更改程式中其中一行才能通过编译accel = ADXL345(); 改成accel = ADXL345(0x53);)

这个问题你把头文件里面的
#define DefaultADXL345_Address 0x1D
改成
#define DefaultADXL345_Address 0x53
就可以了。
页: [1]
查看完整版本: 求救!关于电子罗盘倾斜补偿