GithubHelp home page GithubHelp logo

arduino_nineaxesmotion's Introduction

Note: this library is deprecated and no longer maintained.

9 Axes Motion Library

Check Arduino status Compile Examples status Spell Check status


The Arduino_NineAxesMotion.cpp and Arduino_NineAxesMotion.h files are C++ wrapper codes for the BNO055.c and BNO055.h Sensor API. The wrapper code has been designed to abstract the Sensor API and also to give an idea on how to use the advanced features in the Sensor API. Apart from that it acts a bridge between the Sensor API and the Arduino framework. Copy this library into "yourArduinoInstallation"/libraries folder.


There are 4 examples with the 9 Axes Motion library.

  • BareMinimum: This example code is as the name says the minimum code required to use the 9 Axes Motion shield.

  • Euler: This example code reads out the Euler angles in the NDoF mode to the Serial Monitor. It also reads out the Calibration Status. Each sensor and the System itself has its own Calibration Status. See below on how to calibrate each of the sensors.

  • Accelerometer: This example code reads out the Accelerometer data and associated data which are the Linear Acceleration data, which is the Accelerometer data without the gravity vector, the other is the Gravity Acceleration data, which is only the gravity vector.

  • Motion: This example code is a game to test how steadily you can move an object, in this case it is the shield with the Arduino board. The goal is to demonstrate on how to use the Any motion and No motion Interrupts.

Calibration helps the Sensor identify its environment and automatically determine offsets. Follow the instructions below to calibrate your sensor.

  • Gyroscope: Keep it steady and do not move it. Preferably keep it on a fixed surface such as a table.

  • Accelerometer: Rotate the shield slowly and pause at every 45deg for a second. Rotate one 1 axis at a time. Preferably rotate along 2 axes.

  • Magnetometer: Move the magnetometer in a large 8 like pattern a few times gently.

arduino_nineaxesmotion's People

Contributors

aentinger avatar charlesbones avatar dependabot[bot] avatar facchinm avatar marqdevx avatar per1234 avatar sergiotomasello avatar umbynos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arduino_nineaxesmotion's Issues

Zero calibration

I cant get any of the sensors to reports any calibration status other than 0.

Using this code on a brand new Uno rev3 + 9 axes motion shield.

Am I missing something?

No accelerometer data when used with UNO R4 WiFi

Serial monitor is getting static accelerometer data, expected output values to change when moved

More info:
Installed Arduino_NineAxesMotion 1.1.2 on Arduino IDE
Connected Arduino 9 Axis Motion Shield onto an Arduino UNO R4 WiFi 1.0.4
Uploaded Accelerometer.ino example file with no compile errors


Possibly related: #4

Sensor update time is slow

I need to get all sensor values (Gyro, Accelerometer, Magnetometer, Euler, and Quaternion) at the highest update rate possible (100Hz). But, everytime I called the updateGyro(), updateAccel() and so on, it takes more than 10ms, thus I couldn't reach the 100 Hz, especially because I need to send those data through Serial port.

I update all sensor values inside the loop() in the Arduino sketch, and I simply print all the values to Serial comm using Serial.print(). Is there any good way to do this and to get 100 Hz rate?

Interfacing 9 axis motion sheild on Arduino Mega

I have tried interfacing the 9 axis motion shield to the Arduino mega and ran the sample code but Im getting zeros as my answer.
my connection are
SDA
SCL
PIN 7 Reset pin
PIN 2 Interupt Pin
VCC and GND

accelerometer output rate

Hello, I'm an Arduino newbie so I apologize if I am inaccurate in expressing my request. I'm willing to measure just three axis accelerations with an output rate of 200 records per second.
I'm using the Accelerometer.ino code (https://github.com/arduino-libraries/Arduino_NineAxesMotion/tree/master/examples/Accelerometer, I just added some code to record the measured data in a Micro SD). I figured I could set the output rate by changing accordingly the "const int streamPeriod" parameter but it seems that I can get as high as around 30 values per second even when I set "const int streamPeriod = 5". can anybody help me?
thanks
Fausto

Fix error: Arduino_NineAxesMotion.h #endif and void begin(unassigned int)

Hey guys,
I have a school project using a NineAxesMotion Shield.
When i download your library, i found 2 error on the Arduino_NineAxesMotion.h file that make crash compilation of your example program.

Line 722 :

void begin(unsigned int address = 0x28) doesn't need the address = 0x28 because it's given by the cpp file.
USE :
void begin(unsigned int address)

Line 766:

#endif __NAXISMOTION_H__ An endif doesn't need to be named
USE:
#endif //__NAXISMOTION_H__

Thanks for your time.
Keep me informed.

Ben

Orientation data doesn't changes if Bosch BNO055 IMU rotated at slow constant velocity

I am working on a mobile robot based on ROS. It includes servo motors with incremental encoders and Bosch BNO055 IMU for localization. IMU is connected with an Arduino UNO which sends the orientation data serially to the main board. I am using the Example code Euler.ino to get the orientation data. It works perfectly until the robot is rotating at least at 0.35 rad/s. But when the robot is rotating bellow that velocity, the orientation data freezes after some 5 seconds(approximately). Is there any parameter that I can change to make it work below 0.35 rad/s angular velocity?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.