Aaron Berk
/
IMUfilter_HelloWorld
Inertial measurement unit orientation filter example.
Diff: main.cpp
- Revision:
- 0:56aa1ac6b59d
- Child:
- 1:9133b457bb41
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Aug 03 15:09:45 2010 +0000 @@ -0,0 +1,32 @@ +#include "IMUfilter.h" + +Serial pc(USBTX, USBRX); + +IMUfilter imuFilter(0.1); + +AnalogIn accelerometerX(p15); +AnalogIn accelerometerY(p16); +AnalogIn accelerometerZ(p17); +AnalogIn gyroscopeX(p18); +AnalogIn gyroscopeY(p19); +AnalogIn gyroscopeZ(p20); + +int main() { + + while(1){ + + wait(0.1); + //Gyro and accelerometer values must be converted to rad/s and m/s/s + //before being passed to the filter. + imuFilter.updateFilter(gyroscopeX.read(), + gyroscopeY.read(), + gyroscopeZ.read(), + accelerometerX.read(), + accelerometerY.read(), + accelerometerZ.read()); + imuFilter.computeEuler(); + pc.printf("%f, %f, %f\n", imuFilter.getRoll(), imuFilter.getPitch(), imuFilter.getYaw()); + + } + +}