{"id":4380,"date":"2017-12-31T19:33:24","date_gmt":"2017-12-31T18:33:24","guid":{"rendered":"https:\/\/www.diarioelectronicohoy.com\/blog\/?p=4380"},"modified":"2019-06-13T19:14:26","modified_gmt":"2019-06-13T17:14:26","slug":"magnetometro-hmc5883l","status":"publish","type":"post","link":"https:\/\/www.diarioelectronicohoy.com\/blog\/magnetometro-hmc5883l","title":{"rendered":"Magnet\u00f3metro HMC5883L."},"content":{"rendered":"<h5 style=\"text-align: center;\">PROYECTO DE BR\u00daJULA DIGITAL.<\/h5>\n<h5 style=\"text-align: right;\">Creado en Diciembre 2017<\/h5>\n<h3>INTRODUCCI\u00d3N.<\/h3>\n<p style=\"text-align: justify;\">En la actualidad estamos rodeados de dispositivos inteligentes como m\u00f3viles, GPS, tabletas, etc. en los cuales viene integrada una br\u00fajula mediante la cual se logra orientar el dispositivo, detectando la posici\u00f3n de apaisado a vertical que tiene nuestro m\u00f3vil o la direcci\u00f3n del polo Norte en el GPS, ect. La br\u00fajula digital es un sensor que mide el valor del campo magn\u00e9tico en tres ejes, con esto es posible estimar la orientaci\u00f3n del dispositivo respecto al campo magn\u00e9tico de la tierra.<\/p>\n<p style=\"text-align: justify;\">En este tutorial veremos como utilizar la br\u00fajula digital o magnet\u00f3metro HMC5883L, tratando de explicar y realizar ejemplos con Arduino.<\/p>\n<p style=\"text-align: justify;\">EL HMC5883L es un sensor magnet\u00f3metro de 3 ejes, se encuentra integrado en m\u00f3dulos como la GY-273 que incorporan la electr\u00f3nica necesaria para conectarla de forma sencilla a un Arduino, de forma que podamos detectar y leer el campo magn\u00e9tico terrestre y as\u00ed calcular la orientaci\u00f3n con respecto al norte magn\u00e9tico de la tierra, siempre que nuestro sensor no este expuesto a alg\u00fan campo magn\u00e9tico externo o cerca de alg\u00fan objeto met\u00e1lico que pueda perturbar el campo magn\u00e9tico terrestre.<a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/magnetometro-hmc5883l\/bd-hmc5883l\" target=\"_blank\" rel=\"attachment noopener wp-att-4382 noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4382\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2017\/12\/bd-hmc5883l-300x300.jpg\" alt=\"\" width=\"215\" height=\"215\" \/><\/a><\/p>\n<p style=\"text-align: center;\">\u00a0Fig. 1\u00a0M\u00f3dulo br\u00fajula digital.<\/p>\n<p style=\"text-align: justify;\">Este peque\u00f1o m\u00f3dulo HMC5883L incorpora tres sensores de magnetorresistencia, cancelaci\u00f3n de desfases, y conversores de 12 bits, lo que le proporciona una precisi\u00f3n de \u00b12\u00baC, trabaja con un tensi\u00f3n de 1.8 a 3.3V, pero algunos tienen un regulador interno por lo que se puede alimentar con 5V o con 3.3V en sus pines respectivos, aseg\u00farese de estos datos. Este m\u00f3dulo de Honeywell HMC5883L, se comunica a trav\u00e9s del bus I2C, cuya direcci\u00f3n fija es 0x1E, por lo que es sencillo obtener los datos medidos.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/magnetometro-hmc5883l\/brujula-hnc5883-gy273\" target=\"_blank\" rel=\"attachment noopener wp-att-4383 noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4383\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2017\/12\/brujula-hnc5883-gy273-300x104.gif\" alt=\"\" width=\"300\" height=\"104\" \/><\/a>\u00a0Fig. 2\u00a0 Conexiones.<\/p>\n<p style=\"text-align: justify;\">Actualmente, con el uso de sistemas de navegaci\u00f3n en robots y otros veh\u00edculos, como cuadric\u00f3pteros, las br\u00fajulas magn\u00e9ticas son dispositivos ampliamente empleados. La medici\u00f3n con estos sensores se ve afectada por la presencia de campos magn\u00e9ticos y metales. Por tanto, para aplicaciones de navegaci\u00f3n es necesario combinar estos sensores con aceler\u00f3metros y giroscopios.<\/p>\n<p style=\"text-align: justify;\">Para realizar los ejemplos que siguen, tenemos que instalar las librer\u00edas siguientes:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/jrowberg\/i2cdevlib\/tree\/master\/Arduino\/HMC5883L\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/jrowberg\/i2cdevlib\/tree\/master\/Arduino\/HMC5883L<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jrowberg\/i2cdevlib\/tree\/master\/Arduino\/I2Cdev\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/jrowberg\/i2cdevlib\/tree\/master\/Arduino\/I2Cdev<\/a><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Para trabajar los siguientes ejercicios es necesario instalar las librer\u00edas en el IDE Arduino. En este tutorial utilizamos la biblioteca HMC5883L.h, facilitando as\u00ed la programaci\u00f3n. Una vez descargada la librer\u00eda inst\u00e1lela, vaya al men\u00fa\u00a0<i>Programa-&gt; Incluir librer\u00eda-&gt; A\u00f1adir Librer\u00eda .ZIP<\/i>\u00a0y seleccione la instalaci\u00f3n desde el archivo reci\u00e9n descargado, o siga los pasos de la imagen.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/magnetometro-hmc5883l\/brujula_hmc5883leds\" target=\"_blank\" rel=\"attachment noopener wp-att-4385 noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4385\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2017\/12\/brujula_hmc5883leds-300x223.gif\" alt=\"\" width=\"300\" height=\"223\" \/><\/a>\u00a0Fig. 3\u00a0 Librer\u00edas.<\/p>\n<p style=\"text-align: justify;\">Una de las opciones de lectura que se puede hacer con el magnet\u00f3metro, es identificar en qu\u00e9 direcci\u00f3n est\u00e1 el polo norte magn\u00e9tico. En el tutorial de hoy mostraremos c\u00f3mo puede usted f\u00e1cilmente utilizar la br\u00fajula digital (magnet\u00f3metro) utilizando el Arduino.<\/p>\n<h3>EL ESQUEMA.<\/h3>\n<p style=\"text-align: justify;\">En esta ocasi\u00f3n vamos a utilizar 8 LEDs en circulo que nos indiquen en que direcci\u00f3n esta el polo Norte geogr\u00e1fico de la Tierra, haciendo as\u00ed una br\u00fajula electr\u00f3nica. Para lo cual utilizamos la biblioteca HMC5883L.h, es una biblioteca muy \u00fatil y sencilla de utilizar, con la que podemos recoger toda la informaci\u00f3n que nos brinda la br\u00fajula digital HMC5883L.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/magnetometro-hmc5883l\/brujula1\" target=\"_blank\" rel=\"attachment noopener wp-att-4386 noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4386\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2017\/12\/brujula1-216x300.gif\" alt=\"\" width=\"216\" height=\"300\" \/><\/a>\u00a0Fig. 4\u00a0 Esquema pr\u00e1ctico<\/p>\n<p style=\"text-align: justify;\">El HMC5883L se comunica con un lenguaje serial llamado I2C (Wire.h) que requiere solo dos hilos para la comunicaci\u00f3n: uno para un reloj (SCL) y otro para los datos (SDA).<\/p>\n<h3>EL C\u00d3DIGO.<\/h3>\n<p style=\"text-align: justify;\">Br\u00fajula digital con sensor magnet\u00f3metro HMC5883.<\/p>\n<pre class=\"lang:arduino decode:true \" title=\"Br\u00fajula digital con sensor magnet\u00f3metro HMC5883\">\/\/\r\n\/\/ C\u00f3digo br\u00fajula digital con sensor magnetometro HMC5883\r\n\/\/ Basado en el c\u00f3digo de http:\/\/www.ardumania.es\/brujula-digital-hmc5883l\/\r\n\/\/\r\n\/\/ A\u00f1adi LEDs para que indiquen la direcci\u00f3n y as\u00ed no depender\r\n\/\/ del monitor Serial.\r\n\/\/\r\n \r\n#include &lt;Wire.h&gt;\r\n#include &lt;HMC5883L.h&gt; \/\/Include a biblioteca HMC5883L.h\r\n#include &lt;Adafruit_HMC5883_U.h&gt;\r\n \r\n\/\/ Se definen los LED y el pin correspondiente.\r\n#define led1 2 \/\/Define led1 como pin2\r\n#define led2 3 \/\/Define led2 como pin3\r\n#define led3 4 \/\/Define led3 como pin4\r\n#define led4 5 \/\/Define led4 como pin5\r\n#define led5 6 \/\/Define led5 como pin6\r\n#define led6 7 \/\/Define led6 como pin7\r\n#define led7 8 \/\/Define led7 como pin8\r\n#define led8 9 \/\/Define led8 como pin9\r\n \r\nHMC5883L brujula; \/\/Inst\u00e2ncia a biblioteca para a b\u00fassola\r\n \r\nint i; \/\/Variable para contar\r\nfloat grados; \/\/Variable para almacenar el valor evaluado\r\nfloat preciso; \/\/Variable para o mejorar la precison de valor medido\r\n \r\n\/\/ Asignacion de una identificacion a la brujula\r\nAdafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345);\r\n \r\nvoid displaySensorDetails(void)\r\n{\r\nsensor_t sensor;\r\nmag.getSensor(&amp;sensor);\r\nSerial.println(\"------------------------------------\");\r\nSerial.print (\"Sensor: \"); Serial.println(sensor.name);\r\nSerial.print (\"Driver Ver: \"); Serial.println(sensor.version);\r\nSerial.print (\"ID unica: \"); Serial.println(sensor.sensor_id);\r\nSerial.print (\"Valor Maximo: \"); Serial.print(sensor.max_value); Serial.println(\" uT\");\r\nSerial.print (\"Valor Minimo: \"); Serial.print(sensor.min_value); Serial.println(\" uT\");\r\nSerial.print (\"Resolucion: \"); Serial.print(sensor.resolution); Serial.println(\" uT\");\r\nSerial.println(\"------------------------------------\");\r\nSerial.println(\"\");\r\ndelay(500);\r\n \r\n}\r\n \r\nvoid setup(void)\r\n{\r\nSerial.begin(9600);\r\nSerial.println(\"Magnetometro HMC5883 Test\"); Serial.println(\"\");\r\n \r\n\/* Inicializamos el sensor *\/\r\nif(!mag.begin())\r\n{\r\n\/\/ Si hay algun problema con el HMC5883 sale el aviso de que revise las conexiones\r\nSerial.println(\"Ooops, no se ha detectado el HMC5883 ... revisa las conexiones!\");\r\nwhile(1);\r\n}\r\n \r\npinMode(led1, OUTPUT); \/\/Define pin 2 como sal\u00edda\r\npinMode(led2, OUTPUT); \/\/Define pin 3 como sal\u00edda\r\npinMode(led3, OUTPUT); \/\/Define pin 4 como sal\u00edda\r\npinMode(led4, OUTPUT); \/\/Define pin 5 como sal\u00edda\r\npinMode(led5, OUTPUT); \/\/Define pin 6 como sal\u00edda\r\npinMode(led6, OUTPUT); \/\/Define pin 7 como sal\u00edda\r\npinMode(led7, OUTPUT); \/\/Define pin 8 como sal\u00edda\r\npinMode(led8, OUTPUT); \/\/Define pin 9 como sal\u00edda\r\n \r\nWire.begin(); \/\/Inicia la comunicacion I2C\r\n \r\n\/\/Configura a br\u00fajula\r\nbrujula = HMC5883L();\r\nbrujula.SetScale(1.3);\r\nbrujula.SetMeasurementMode(Measurement_Continuous);\r\n\/\/===================\r\n \r\n\/\/ Muesta la informaci\u00f3n b\u00e1sica del sensor\r\ndisplaySensorDetails();\r\n}\r\n \r\nvoid loop(void)\r\n{\r\n\/\/ Hacemos que el sensor tome una nueva muestra\r\nsensors_event_t event;\r\nmag.getEvent(&amp;event);\r\n \r\n\/*\r\nSostenga el m\u00f3dulo de manera que Z est\u00e9 se\u00f1alando arriba y se pueda medir con el t\u00edtulo X e Y\r\nCalcular la medida cuando el magnet\u00f3metro est\u00e9 nivelado, y luego corregir los signos de eje\r\n*\/\r\n\/\/ inicialmente los LED estar\u00e1n apagados.\r\ndigitalWrite(led1, LOW);\r\ndigitalWrite(led2, LOW);\r\ndigitalWrite(led3, LOW);\r\ndigitalWrite(led4, LOW);\r\ndigitalWrite(led5, LOW);\r\ndigitalWrite(led6, LOW);\r\ndigitalWrite(led7, LOW);\r\ndigitalWrite(led8, LOW);\r\n \r\nfloat muestra = atan2(event.magnetic.y, event.magnetic.x);\r\npreciso = 0; \/\/A cero, la variable para una nueva lectura\r\n \r\n\/* Una vez tengamos la muestra tomada, a continuaci\u00f3n debemos agregar el \"\u00c1ngulo de declinaci\u00f3n\"\r\nel \u00e1ngulo de declinaci\u00f3n es el \"error\" del campo magn\u00e9tico en su ubicaci\u00f3n.\r\nPuede encontrar el suyo aqu\u00ed: http:\/\/www.magnetic-declination.com\/\r\nSi no encuentra su \u00e1ngulo de declinaci\u00f3n, comente las dos l\u00edneas siguientes, la br\u00fajula estar\u00e1\r\nligeramente desviada*\/\r\n \r\nfloat declinacionAngulo = 0.13; \/\/ Valencia, angulo de declinaci\u00f3n 0.13\r\nmuestra += declinacionAngulo;\r\n \r\n\/\/ corrige los valores negativos\r\nif(muestra &lt; 0)\r\nmuestra += 2*PI;\r\n \r\n\/\/ Comprueba si hay error debido a la adici\u00f3n de la declinaci\u00f3n.\r\nif(muestra &gt; 2*PI)\r\nmuestra -= 2*PI;\r\n \r\n\/\/ Convierte los radianes a grados\r\nfloat muestraangulo = muestra * 180\/M_PI;\r\n \r\n\/* A continuaci\u00f3n vamos a mostrar por pantalla los diferentes valores y puntos\r\ncardinales en funci\u00f3n de las muestras tomadas. Al a\u00f1adir los LEDs se puede ver\r\nla direcci\u00f3n con el LED encendido. *\/\r\n \r\n if (muestraangulo &gt; 350){\r\nSerial.print(\"N \"); Serial.print(muestraangulo); Serial.println(\" LED 1\"); \/\/ a\u00f1adido\r\ndigitalWrite(led1, HIGH);\/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n if (muestraangulo &lt;= 10){ \/\/ &lt;=15\r\nSerial.print(\"N \"); Serial.print(muestraangulo); Serial.println(\" LED 1\"); \/\/ a\u00f1adido\r\ndigitalWrite(led1, HIGH);\/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n if (muestraangulo &gt; 10 &amp;&amp; muestraangulo &lt;= 80){ \/\/ &gt;15 &lt;=75\r\nSerial.print(\"NE \"); Serial.print(muestraangulo); Serial.println(\" LED 2\"); \/\/ a\u00f1adido\r\ndigitalWrite(led2, HIGH); \/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n if (muestraangulo &gt; 80 &amp;&amp; muestraangulo &lt;= 100){ \/\/ &gt;75 &lt;=105\r\nSerial.print(\"E \"); Serial.print(muestraangulo); Serial.println(\" LED 3\"); \/\/ a\u00f1adido\r\ndigitalWrite(led3, HIGH); \/\/a\u00f1adido\r\ndelay(500);\r\n }\r\n if (muestraangulo &gt; 100 &amp;&amp; muestraangulo &lt;= 170){ \/\/ &gt;105 &lt;=165\r\nSerial.print(\"SE \"); Serial.print(muestraangulo); Serial.println(\" LED 4\"); \/\/ a\u00f1adido\r\ndigitalWrite(led4, HIGH); \/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n if(muestraangulo &gt; 170 &amp;&amp; muestraangulo &lt;= 190){ \/\/ &gt;165 &lt;=195\r\nSerial.print (\"S \"); Serial.print(muestraangulo); Serial.println(\" LED 5\"); \/\/ a\u00f1adido\r\ndigitalWrite(led5, HIGH); \/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n if(muestraangulo &gt; 190 &amp;&amp; muestraangulo &lt;= 260){ \/\/ &gt;195 &lt;=255\r\nSerial.print (\"SW \"); Serial.print(muestraangulo); Serial.println(\" LED 6\"); \/\/ a\u00f1adido\r\ndigitalWrite(led6, HIGH); \/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n if(muestraangulo &gt; 260 &amp;&amp; muestraangulo &lt;= 290){ \/\/ &gt;255 &lt;=285\r\nSerial.print (\"W \"); Serial.print(muestraangulo); Serial.println(\" LED 7\"); \/\/ a\u00f1adido\r\ndigitalWrite(led7, HIGH); \/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n if(muestraangulo &gt; 290 &amp;&amp; muestraangulo &lt;= 350){ \/\/ &gt;285 &lt;=350\r\nSerial.print (\"NW \"); Serial.print(muestraangulo); Serial.println(\" LED 8\"); \/\/ a\u00f1adido\r\ndigitalWrite(led8, HIGH); \/\/ a\u00f1adido\r\ndelay(500);\r\n }\r\n}<\/pre>\n<p style=\"text-align: justify;\">Como ya se sabe, el c\u00f3digo residente dentro de la funci\u00f3n setup(), se ejecuta una vez al principio. En \u00e9l, se inicializa la comunicaci\u00f3n Serial a 9600\/..\/115200 baudios, la que interese, la comunicaci\u00f3n serial para enviar datos de cada eje a la computadora, tambi\u00e9n inicializamos I2C. Despu\u00e9s, realizamos una operaci\u00f3n de \u2018escritura\u2019 al HMC5883L, el motivo de esta operaci\u00f3n de \u2018escritura\u2019 es ajustar el valor en el registro de configuraci\u00f3n del HMC5883L para indicarle que est\u00e1 en modo de operaci\u00f3n continua para realizar lecturas continuas de los datos de los ejes.<\/p>\n<p style=\"text-align: justify;\"><strong>Nota.<\/strong>\u00a0Por defecto, el chip est\u00e1 en modo de lectura \u00fanica, lo que significa que despu\u00e9s de leerlo una vez, estar\u00e1 inactivo para ahorrar energ\u00eda. Una vez inactivo, le escribimos para activarlo antes de que podamos leer de nuevo; m\u00e1s informaci\u00f3n sobre los registros en las hojas de datos.<\/p>\n<p style=\"text-align: justify;\">Una vez m\u00e1s, la funci\u00f3n loop() se ejecutar\u00e1 permanentemente una y otra vez mientra tenga energ\u00eda la tajeta. Se han a\u00f1adido las sentencias\u00a0<em>digitalWrite<\/em>\u00a0a cada LED puesto a LOW, para que est\u00e9n apagados.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>digitalWrite(led1, LOW);<\/li>\n<li>digitalWrite(led2, LOW);<\/li>\n<li>digitalWrite(led3, LOW);<\/li>\n<li>digitalWrite(led4, LOW);<\/li>\n<li>digitalWrite(led5, LOW);<\/li>\n<li>digitalWrite(led6, LOW);<\/li>\n<li>digitalWrite(led7, LOW);<\/li>\n<li>digitalWrite(led8, LOW);<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Hasta que la direcci\u00f3n se\u00f1alada mediante las sentencias\u00a0<em>if<\/em>, encienda el led que corresponda en cada rumbo.\u00a0Para ejecutar el ejemplo, mantenga la tarjeta en posici\u00f3n horizontal, de modo que el eje Z no var\u00ede mucho su posici\u00f3n, ya que no se ha contemplado su valor.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/magnetometro-hmc5883l\/datos-brujula\" target=\"_blank\" rel=\"attachment noopener wp-att-4389 noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4389\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2017\/12\/datos-brujula-300x297.gif\" alt=\"\" width=\"278\" height=\"275\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2017\/12\/datos-brujula-300x297.gif 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2017\/12\/datos-brujula-768x761.gif 768w\" sizes=\"auto, (max-width: 278px) 100vw, 278px\" \/><\/a>\u00a0Fig. 5 Monitor Serial.<\/p>\n<p style=\"text-align: justify;\">Para obtener la orientaci\u00f3n respecto del norte geogr\u00e1fico de la Tierra, usted deber\u00e1 introducir la declinaci\u00f3n de la posici\u00f3n en la que se encuentra. Puede consultar este valor en\u00a0<a href=\"https:\/\/www.ign.es\/ign\/layoutIn\/visorgeomagnetismo.do\" target=\" \" rel=\"noopener noreferrer\">www.ign.es<\/a>\u00a0o tambi\u00e9n en\u00a0<a href=\"http:\/\/www.ngdc.noaa.gov\/geomag-web\/\" target=\" \" rel=\"noopener noreferrer\">www.ngdc.noaa.gov<\/a><\/p>\n<p style=\"text-align: justify;\">Los datos de los ejes x, y, z se env\u00edan en serie al computador, estos valores se pueden ver utilizando el monitor \u2018Serial\u2019 del entorno de desarrollo Arduino, como se muestra en la imagen anterior.\u00a0No utilizaremos los datos del eje Z. En el v\u00eddeo que sigue, se puede observar el funcionamiento del proyecto.<\/p>\n<div align=\"center\"><iframe loading=\"lazy\" width=\"460\" height=\"345\" src=\"https:\/\/www.youtube.com\/embed\/7LCAHXfJYM8\" frameborder=\"0\" gesture=\"media\" allow=\"encrypted-media\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/div>\n<p style=\"text-align: center;\">V\u00eddeo<\/p>\n<p style=\"text-align: justify;\">En este proyecto es posible ver con el magnet\u00f3metro, e identificar en qu\u00e9 direcci\u00f3n est\u00e1 el polo norte magn\u00e9tico. En nuestra demostraci\u00f3n utilizamos ocho LEDs, de los cuales apuntar\u00e1 en la direcci\u00f3n que est\u00e9 el Polo Norte geogr\u00e1fico de la Tierra, obteniendo as\u00ed, una br\u00fajula electr\u00f3nica.<\/p>\n<h5>REFERENCIAS.<\/h5>\n<ul>\n<li>https:\/\/www.luisllamas.es\/brujula-magnetica-con-arduino-compass-digital-hmc5883\/<\/li>\n<li>http:\/\/www.naylampmechatronics.com\/blog\/49_tutorial-magnetometro-hmc5883l.html<\/li>\n<li>http:\/\/labdegaragem.com\/profiles\/blogs\/tutorial-bussola-eletronica-com-hmc5883l<\/li>\n<li>https:\/\/www.sparkfun.com\/tutorials\/301<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>PROYECTO DE BR\u00daJULA DIGITAL. Creado en Diciembre 2017 INTRODUCCI\u00d3N. En la actualidad estamos rodeados de dispositivos inteligentes como m\u00f3viles, GPS, tabletas, etc. en los cuales viene integrada una br\u00fajula mediante la cual se logra orientar el dispositivo, detectando la posici\u00f3n de apaisado a vertical que tiene nuestro m\u00f3vil o la direcci\u00f3n del polo Norte en [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":4382,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[22,357,15],"tags":[325,323,326,356,324],"class_list":["post-4380","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-magnetometro-hmc5883l","category-microcontroladores","tag-acelerometro","tag-brujula","tag-girocopo","tag-hmc5883l","tag-magentometro"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/4380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/comments?post=4380"}],"version-history":[{"count":11,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/4380\/revisions"}],"predecessor-version":[{"id":4817,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/4380\/revisions\/4817"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media\/4382"}],"wp:attachment":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media?parent=4380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/categories?post=4380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/tags?post=4380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}