/razor-9dof-ahrs

AHRS Firmware for the Vetco 9-Axis Inertial Navigation Module for Arduino

Primary LanguageArduinoOtherNOASSERTION

Razor AHRS v1.4.2

9 Degree of Measurement Attitude and Heading Reference System for Vetco 9-Axis Inertial Navigation Module for Arduino (VUPN6602) The four chips on this module are the L3G4200D Gyroscope, the ADXL345 Accelerometer, the HMC5883L compass and the BMP085 barometer thermometer. http://www.vetco.net/catalog/product_info.php?products_id=13835

Forked from https://github.com/ptrbrtz/razor-9dof-ahrs

Download

Clone the repository on GitHub or download as .zip.

Tutorial

You find a detailed tutorial in the Wiki.

Quick setup

Razor AHRS Firmware and Processing Test Sketch

Select your hardware in Arduino/Razor_AHRS/Razor_AHRS.ino under "USER SETUP AREA" / "HARDWARE OPTIONS". Upload the firmware using Arduino.
Run Processing/Razor_AHRS_test/Razor_AHRS_test.pde using Processing.

Optional: Mac OS X / Unix / Linux C++ Interface

Compile test program:

g++ Example.cpp RazorAHRS.cpp -Wall -D_REENTRANT -lpthread -o example

Run it:

./example

Sorry, no Windows support. But you could try to compile using cygwin.

Optional: Android Interface

About Razor AHRS and Android Bluetooth: Bluetooth seems to be even more picky on Android than it is anyway. Be sure to have a look at the section about Android Bluetooth in the tutorial.

Compiling and running the test app: Open up your Android-ready Eclipse and import both projects using FileImport...GeneralExisting Projects into Workspace with the root folder being Android/. Then build and run the test app from Eclipse.

Building your own app:

  • Your app needs to target Android 2.0 (API Level 5) or later. The RazorAHRS Library Project has to be present in your Workspace. Add the library to your app under Project PropertiesAndroidLibrary.

  • In case you want yaw/heading to reference "true north" and not just magnetic north, you can use the included DeclinationHelper class to find out about declination at your current position.

  • You have to specify these uses-permissions in the AndroidManifest.xml:
    android.permission.BLUETOOTH and android.permission.BLUETOOTH_ADMIN

  • If you want to use the DeclinationHelper class you also need:
    android.permission.ACCESS_FINE_LOCATION and android.permission.ACCESS_COARSE_LOCATION