|
这个是关于加速度的代码,图形显示是没有问题了 ,不过现在要求给代码加入滤波。网上也找到很多十大算法啥的,可惜我是小白,所以找到了也不知道怎么用,有没有大神能够指点下,感激不尽!!
#include <Wire.h>
#include <SFE_MMA8452Q.h>
MMA8452Q accel;
void setup()
{
Serial.begin(9600);
Serial.println("MMA8452Q Test Code!");
accel.init();
}
void loop()
{
if (accel.available())
{
accel.read();
printCalculatedAccels();
printOrientation();
Serial.println();
}
}
void printAccels()
{
Serial.print(accel.x, 3);
Serial.print("\t");
Serial.print(accel.y, 3);
Serial.print("\t");
Serial.print(accel.z, 3);
Serial.print("\t");
}
void printCalculatedAccels()
{
Serial.print(accel.cx, 3);
Serial.print(",");
Serial.print(accel.cy, 3);
Serial.print(",");
Serial.print(accel.cz, 3);
Serial.print(",");
}
void printOrientation()
{
byte pl = accel.readPL();
switch (pl)
{
case PORTRAIT_U:
Serial.print("Portrait Up");
break;
case PORTRAIT_D:
Serial.print("Portrait Down");
break;
case LANDSCAPE_R:
Serial.print("Landscape Right");
break;
case LANDSCAPE_L:
Serial.print("Landscape Left");
break;
case LOCKOUT:
Serial.print("Flat");
break;
}
}
|
|