Magnetómetro

¿QUÉ ES UN MAGNETÓMETRO?

Un magnetómetro sirve para cuantificar en fuerza o dirección de la fuerza electromagnética de la Tierra.

Hay distintos tipos de magnetómetro que son:

  1. Los magnetómetros escalares que miden la fuerza magnética de en las que están sometidos.
  2. Los magnetómetros vectoriales que tienen la capacidad de medir  el componente del campo magnético en una dirección particular, en este caso el norte magnético de la Tierra.

CÓMO MONTARLO. 

El montaje de esta brújula magnética  es muy sencillo solo tienes que alimentarlo con su propia toma de tierra y la conexión 5V, también hay conexiones de programación que son la SDA que va al  pin A4 y la conexión SCL que va al pin A5.arduino-brujula-hmc5883-gy273-esquema

arduino-brujula-hmc5883-gy273-conexion

PROGRAMACIÓN.

//GND – GND

//VCC – VCC

//SDA – Pin A4

//SCL – Pin A5

#include «Wire.h»

#include «I2Cdev.h»

#include «HMC5883L.h»

HMC5883L compass;

int16_t mx, my, mz;

void setup()

{

    Serial.begin(9600);

    Wire.begin();

    compass.initialize();

}

void loop()

{

    //Obtener componentes del campo magnético

    compass.getHeading(&mx, &my, &mz);

    Serial.print(«mx:»);

    Serial.print(mx);

    Serial.print(«tmy:»);

    Serial.print(my);

    Serial.print(«tmz:»);

    Serial.println(mz);

    delay(100);

}

//GND – GND

//VCC – VCC

//SDA – Pin A4

//SCL – Pin A5

#include «Wire.h»

#include «I2Cdev.h»

#include «HMC5883L.h»

HMC5883L compass;

int16_t mx, my, mz;

//declinacion en grados en tu posición

const float declinacion = 0.12;

void setup()

{

    Serial.begin(9600);

    Wire.begin();

    compass .initialize();

}

void loop() {

    //Obtener componentes del campo magnético

    compass .getHeading(&mx, &my, &mz);

    //Calcular ángulo el ángulo del eje X respecto al norte

    float angulo = atan2(my, mx);

    angulo = angulo * RAD_TO_DEG;

    angulo = angulo – declinacion;

    if(angulo < 0) angulo = angulo + 360;

    Serial.print(«N:»);

    Serial.println(angulo,0);  

}