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.