ArduinoGeneral

Arduino Uno and 10DOF (SEN0140)

userHead Razoul 2013-04-05 18:12:44 6498 Views3 Replies
Hi everyone,

I recently purchsed the 10DOF sensor (SEN0140) and using the sample code on the Wiki ([url=http://www.dfrobot.com/wiki/index.php/10_DOF_Sensor_%28SKU:SEN0140%29]http://www.dfrobot.com/wiki/index.php/10_DOF_Sensor_%28SKU:SEN0140%29[/url]) I am unable to get the module to operate.

Upon start-up the code will become unresponsive at both the 6DOF and the Pressure initialization.
[code]sixDOF.init()
bmp085Calibration();[/code]

If I comment out the initialization of the two other senors an error is thrown for the compass initialization.
[code]compass = HMC5883L(); // init HMC5883
error = compass.SetScale(1.3); // Set the scale of the compass.
error = compass.SetMeasurementMode(Measurement_Continuous); [/code]
The error thrown is: [color=red][i]Entered scale was not valid, valid gauss values are: 0.88, 1.3, 1.9, 2.5, 4.0, 4.7, 5.6, 8.1[/i][/color]

The complete code is below, any assistance is greatly appreciated.
[code]#include <Wire.h>
#include <FreeSixIMU.h>
#include <FIMU_ADXL345.h>
#include <FIMU_ITG3200.h>
#include <HMC5883L.h>

float angles[3]; // yaw pitch roll
float heading;

short temperature;
long pressure;

// Set the FreeSixIMU object
FreeSixIMU sixDOF = FreeSixIMU();

HMC5883L compass;
// Record any errors that may occur in the compass.
int error = 0;


void setup() {
Serial.begin(9600);
DEBUG_PRINT("inSetup");

Wire.begin();

DEBUG_PRINT("Init 6DOF");
sixDOF.init(); //init the dfrobot and Gyro

DEBUG_PRINT("Init Compass");
compass = HMC5883L(); // init HMC5883
error = compass.SetScale(1.3); // Set the scale of the compass.
error = compass.SetMeasurementMode(Measurement_Continuous); // Set the measurement mode to Continuous
if(error != 0) // If there is an error, print it out.
Serial.println(compass.GetErrorText(error));

DEBUG_PRINT("Init BMP");
bmp085Calibration(); // init barometric pressure sensor

DEBUG_PRINT("outSetup");
DEBUG_PRINT("");
} [/code]
2013-04-11 00:17:01 ;)

Glad to hear that you've handled the issue properly!

PS: Do you have any suggestion or idea about this product according to your user experience . We'd like to improve it according to your feedback.

Best
Lauren
userHeadPic Lauren
2013-04-10 16:27:31 Thank you for the assistance Lauren but I was able to track the issue to a bad connection to the sensor which caused the Arduino to only receive the signal very intermittently.
userHeadPic Razoul
2013-04-08 00:15:17 Hi Razoul,

Could you please be kind to tell me how long time it spent when calling 6DOF and the Pressure initialization functions?

It sounds like that the sensor didn't response the init function,right? Could you please the sketch included in the ADXL345/ITG3200 sensor page? It's helpful to figure out if the hardware met with the sensor soldering problem.

dfrobot ADXL345:[url=https://www.dfrobot.com/wiki/index.php?title=Triple_Axis_Accelerometer_Breakout_-_ADXL345_(SKU:SEN0032)]https://www.dfrobot.com/wiki/index.php?title=Triple_Axis_Accelerometer_Breakout_-_ADXL345_(SKU:SEN0032)[/url]

Gyro ITG3200:[url=https://code.google.com/p/itg-3200driver/]https://code.google.com/p/itg-3200driver/[/url]

Look forward to your reply!

Best
Lauren
userHeadPic Lauren