Arduino - 检测 motion/movement?

Arduino - detecting motion/movement?

我需要检测物品移动的方向。我想知道该项目是向上移动还是向下移动。

在这个平台上使用特定的防护罩是否可以做到这一点?

我想到了超声波传感器,我可以用它测量物品离某个点的距离,并据此提示由于距离变化而发生的运动类型。我认为这可能很棘手,想看看是否有更好的选择。

更新:我更新了问题,更正了方向 - 不是 forward/backward 而是 up/down。

一般来说,要知道运动方向,您需要使用陀螺仪测量结果,通常表示为四元数。要获得距离,您需要整合加速度数据。但是请注意,这种方法不是很容忍。 您可以使用 6 轴 mems 传感器,测量加速度和旋转速度。有基于 Invensense 的 IC mpu6050 和 mpu9250 的 arduino 扩展板。尝试 i2cdevlib 等库。也可能对实现本机 Invensense 的固件有用,它被移植到 ARM 和微芯片平台,并且应该很容易将代码移动到 arduino 平台。 另一个有用的 link 是 freeImu