Materiales:
- 1 Sensor Magnetómetro HMC5883L.
Detalle de conexión (Arduinos: UNO, Nano, Mini):
| Pin Arduino | Pin HMC5883L |
| 5V | VCC |
| GND | GND |
| A5 | SCL |
| A4 | SDA |
Librería para el HMC5883L
Trabajaremos con la librería desarrollada por Jeff Rowberg: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/HMC5883L
Esta librería trabaja con una librería adicional para la comunicación I2C, esta también lo pueden encontrar en el mismo github de la libraría anterior: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/I2Cdev
CÓDIGO:
>#include "Wire.h"
#include "I2Cdev.h"
#include "HMC5883L.h"
HMC5883L magnetometro;
int16_t mx, my, mz;
void setup() {
Serial.begin(9600);
Serial.println("Inicializando Magnetometro...");
//Inicializamos la comunicación I2C y el magnetómetro
Wire.begin();
magnetometro.initialize();
}
void loop() {
//Obtenemos del magnetometro las componentes del campo magnético
magnetometro.getHeading(&mx, &my, &mz);
Serial.print("mx:");
Serial.print(mx);
Serial.print("\tmy:");
Serial.print(my);
Serial.print("\tmz:");
Serial.println(mz);
delay(100);
}
Ver los resultados en el MONITOR SERIAL.
