first commit
This commit is contained in:
84
HMC5883L_calibrate/HMC5883L_calibrate.ino
Executable file
84
HMC5883L_calibrate/HMC5883L_calibrate.ino
Executable file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
Calibrate HMC5883L. Output for HMC5883L_calibrate_processing.pde
|
||||
Read more: http://www.jarzebski.pl/arduino/czujniki-i-sensory/3-osiowy-magnetometr-hmc5883l.html
|
||||
GIT: https://github.com/jarzebski/Arduino-HMC5883L
|
||||
Web: http://www.jarzebski.pl
|
||||
(c) 2014 by Korneliusz Jarzebski
|
||||
*/
|
||||
|
||||
#include <Wire.h>
|
||||
#include <HMC5883L.h>
|
||||
|
||||
HMC5883L compass;
|
||||
|
||||
int minX = 0;
|
||||
int maxX = 0;
|
||||
int minY = 0;
|
||||
int maxY = 0;
|
||||
int offX = 0;
|
||||
int offY = 0;
|
||||
|
||||
|
||||
int minZ = 0;
|
||||
int maxZ = 0;
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
|
||||
// Initialize Initialize HMC5883L
|
||||
while (!compass.begin())
|
||||
{
|
||||
delay(500);
|
||||
}
|
||||
|
||||
// Set measurement range
|
||||
compass.setRange(HMC5883L_RANGE_1_3GA);
|
||||
|
||||
// Set measurement mode
|
||||
compass.setMeasurementMode(HMC5883L_CONTINOUS);
|
||||
|
||||
// Set data rate
|
||||
compass.setDataRate(HMC5883L_DATARATE_30HZ);
|
||||
|
||||
// Set number of samples averaged
|
||||
compass.setSamples(HMC5883L_SAMPLES_8);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
Vector mag = compass.readRaw();
|
||||
|
||||
// Determine Min / Max values
|
||||
if (mag.XAxis < minX) minX = mag.XAxis;
|
||||
if (mag.XAxis > maxX) maxX = mag.XAxis;
|
||||
if (mag.YAxis < minY) minY = mag.YAxis;
|
||||
if (mag.YAxis > maxY) maxY = mag.YAxis;
|
||||
if (mag.ZAxis < minZ) minZ = mag.ZAxis;
|
||||
if (mag.ZAxis > maxZ) maxZ = mag.ZAxis;
|
||||
|
||||
// Calculate offsets
|
||||
offX = (maxX + minX)/2;
|
||||
offY = (maxY + minY)/2;
|
||||
|
||||
// Serial.print(mag.XAxis);
|
||||
// Serial.print(":");
|
||||
// Serial.print(mag.YAxis);
|
||||
// Serial.print(":");
|
||||
Serial.print(minX);
|
||||
Serial.print(":");
|
||||
Serial.print(maxX);
|
||||
Serial.print(":");
|
||||
Serial.print(minY);
|
||||
Serial.print(":");
|
||||
Serial.print(maxY);
|
||||
Serial.print(":");
|
||||
Serial.print(minZ);
|
||||
Serial.print(":");
|
||||
Serial.print(maxZ);
|
||||
// Serial.print(":");
|
||||
// Serial.print(offX);
|
||||
// Serial.print(":");
|
||||
// Serial.print(offY);
|
||||
Serial.print("\n");
|
||||
}
|
||||
Reference in New Issue
Block a user