【发布时间】:2014-11-26 21:02:22
【问题描述】:
我有以下问题:我在自行车上安装了一个 Arduino + 加速度计 (MMA8452Q)。我正在尝试读取制动时的减速度。问题是,由于设计限制,我只能将上述硬件设置安装在自行车骑手身上。由于骑手会经常改变位置,加速度计也会改变我用来测量减速度的基本值(例如,当 Z 轴垂直于地面时,它会测量 1g,但在不同的角度它会显示不同的值),从而使我的代码无法使用。
以下是我的代码中的一些 sn-ps:
/* Set up thresholds - 0.42g is maximum braking force the bike can do */
maximum_value = 0.7;
soft_braking = 0.4 * maximum_value;
strong_braking = 0.6 * maximum_value;
if(val > strong_braking)
{
analogWrite(ledPin, 255);
}
else if(acc > soft_braking)
{
analogWrite(ledPin, 127);
}
*val 是我用于测量减速度的轴上的加速度(经过一些移动平均滤波后)。
考虑到硬件相对于自行车车架的位置不固定,并且读数受地形角度的影响,我如何能够可靠地计算减速度?我正在考虑使用带有陀螺仪的 6DOF 板(例如 MPU6050)并不断测量板的角度并基于此调整加速度值,但我不知道我应该使用什么数学?有没有人有同样的问题或可以指导我一些类似的项目?
【问题讨论】:
标签: arduino accelerometer gyroscope