检测应用于智能手机的力(而不是加速力)

时间:2014-02-19 20:18:39

标签: android accelerometer android-sensors

我正在尝试测量沿x轴施加到设备的力 如果您以恒定速度将设备向左推(使手机向右移动),则 沿x轴测量加速度(使用TYPE_LINEAR_ACCELERATION)将在开始时返回正数,但非常快,加速度将等于零(再次以恒定速度推动)。
API Ad = - ΣFs/ Mass中所述,所以我想通过将加速度传感器结果(event.values[0])乘以质量来实现力, 但乘以加速度等于零将无济于事 我试图测量力而不是加速度的原因是我想要检测一个(在时间上)手势以恒定速度移动手机,例如震动的矛盾。
目标是根据手机的移动移动球 从用户那里推电话:
enter image description here
enter image description here
将球从当前位置向上移动:
enter image description here
enter image description here

1 个答案:

答案 0 :(得分:2)

我不是物理学家,但我认为你不能那样做。如果一个物体以恒定速度移动,它就没有净作用于它。力由加速度和质量定义。

但是,可以判断手机是否仍在移动。如果你看到加速度上升然后下降到零,它仍然在移动。当手机停止移动时,您将获得相反方向的加速度等于起始加速度。

因此,如果您在看到该方向的加速度时向上移动球,请不要仅通过当前值向上移动球。总结你到目前为止看到的加速度(按传感器读数之间的时间加权?)。这样当它降到零时,它将保持不变。当它开始以另一种方式加速(减速)时,它将从位置减去,直到它大致再次居中。

当然,加速度计容易漂移等,所以很难完美。