

Un magnetometro es un sensor que nos permite medir campos magnéticos. Cómo tenemos la suerte de vivir en un planeta con un potente campo magnetico podemos emplear estos sensores para detectar el polo magnetico de la tierra (El norte si estamos en el emisferio norte y el su si estamos en el sur) y de esa forma orientarnos. En otras palabras, podemos convertir un magnetometro en una brujula.
En este ejemplo vamos a utilizar el magnetometro HMC6352. Este es de los más sencillos que podemos encontrar, ya que unicamente puede detectar un campo magnético en un eje (para aparatos que vuelan suele ser interesante usar uno de tres ejes.) pero nos dará una buena precisión y además cuenta con una interfaz I2C, lo que nos permitirá enviar los datos a nuestro Arduino unicamente con dos pines.
Veamos cómo sería el circuito que necesitamos:Cómo podemos ver, no tiene ninguna complicación el circuito. Lo alimentamos con la salida de 3.3V de Arduino, ya que el rango de alimentación del HMC6352 es de 2.7V - 5.2V, podemos utilizar los 3.3V y dejar la salida de 5V para otros elementos que necesiten estos voltajes, además así ahorramos consumo.
El código tampoco tiene ninguna complicación, para este ejemplo vamos a limitarnos a enviar via serial la lectura del sensor://Incluimos las librerias #include <Wire.h> #include <LibCompass.h> //Creamos un objeto de la libreria LibCompass LibCompass brujula = LibCompass(0); void setup() { //Activamos la comunicación serial Serial.begin(9600); } void loop() { //Mandamos por serial la palabra grados... Serial.print("Angulo: "); //seguida del valor de nuestro sensor Serial.println(brujula.GetHeading(),0); //hacemos una breve pausa antes de la siguiente medición delay(10); }
Y ya esta, tenemos nuestra brujula digital con Arduino.
Este tipo de dispositivos son especialmente necesarios en Robots autónomos, y sobre todo si vuelan. La posibilidad de orientarnos en grandes espacios nos da una libertad enorme a la hora de crear la navegación de nuestras creaciones.