我正在尝试使用3个加速度计分线板。 X轴和Y轴非常容易控制,但Z轴有点神秘。我试图找到一种方法来解释我的代码中的数据,以便在设备被提升时增加输出,并在降低时减少。这可能吗?如果是这样,怎么样?也许如果有人能够指出一个有用的好参考资料来源。
答案 0 :(得分:28)
加速度计的基本理解:(仅用于概念澄清)
加速度计测量通常由运动引起的加速度。但当 他们站着不动,加速度计唯一的加速度 感觉是由于重力拉下它。
想象一下,一个盒子里的弹簧几乎没有弹出 盒子的两侧,加速度计测量重力有多硬 伸出那些泉水。侧面的弹簧都是 弯曲相同的量,底部的弹簧全部伸展 out,而顶部的那个根本没有拉伸(因为 弹簧被拉回自身),因此加速度计将其视为 感觉没有重力,或0g(重力)。如果将盒子旋转90º和 按照顶部的弹簧。它现在在侧面并悬挂 一些,传感器看到它现在感觉.5g。再次旋转90º,然后 它位于底部,伸展开来,感觉1g。再旋转90º 我们再次站在一边,感觉.5g,旋转90º 再次,我们回到顶部,感觉0g。所以我们做了一个完整的 旋转和加速度计看到:0g-> .5g - > 1g - > .5g - > 0克。
如果你看一下,这意味着加速度计真的只能 感知180度运动的差异,因为另一个180度只是一个 镜像。那么我们怎样才能感受到360度的运动?
这方面的诀窍是,一个轴只能感知180度 差异,另一个轴也可以,但它们的感知方式不同。如果 你看右边的图表,你可以看到感知的价值观 绕X轴旋转。 (x永远不会改变,因为它是 始终面向同一方向) - 所以我们可以结合y和z 使用名为Atan2的三角函数找到x的值 给我们的值回到-180º到180º(但是以弧度表示,所以它是-π到 π并且必须修改它。)
如果您有兴趣,请阅读完整的文章Sensing Orientation With The ADXL335 + Arduino。 如果您决定将陀螺仪与加速度计一起使用,您可能也会从此question的接受答案中获得一些有用的信息,这可能是您最终可能做的事情。
答案 1 :(得分:18)
没有任何背景,这很难回答......
加速度计测量加速度:
在物理学中,加速就是速度 随时间变化的速度。在 一个维度,加速度是 什么东西加速或 放慢速度。
答案 2 :(得分:1)
我可以说重力(地球吸引力)等于约9.8 m / s / s的恒定加速度。因此,在计算加速度之前,应该从度量中减去该值。
答案 3 :(得分:0)
我编写了利用加速度计的代码。它测量设备在每个3轴上的旋转。非常适合制作游戏。加速度计测量角加速度而不是线性加速度。基本上,您可以使用它来确定3维设备的方向。想想一个物体可以旋转的3种不同方式,你会发现那些x,y和z数字是什么。