# 10 Brújula

La brújula detecta el campo magnético terrestre por lo que se puede saber en qué dirección está orientada la micro:bit. (Necesita ser calibrada para asegurar un resultado preciso.)

##### <span style="color: rgb(22, 145, 121);">**Calibrar la brújula**</span>

La primera vez que grabamos un programa sale este mensaje por la pantalla:

**Tilt to Fill Screen** *Inclinar para llenar la pantalla*

*<span style="color: rgb(224, 45, 184);"><span style="color: rgb(0, 0, 0);">[![LED iluminados.png](https://libros.catedu.es/uploads/images/gallery/2023-07/scaled-1680-/led-iluminados.png)](https://libros.catedu.es/uploads/images/gallery/2023-07/led-iluminados.png)</span></span>*

Luego lo que tenemos que hacer **después** de que aparezca el texto anterior, sale un punto que irá rellenando la pantalla a medida que lo vas inclinando.

Objetivo: que se llene toda la pantalla de leds.

Con un [vídeo](https://www.youtube.com/watch?v=jvK0ql_u5F0) se ve mejor

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--0" src="//www.youtube.com/embed/jvK0ql_u5F0" width="560"></iframe>

[*Pagina oficial de calibración.*](https://support.microbit.org/support/solutions/articles/19000008874-calibrating-the-micro-bit-compass-what-does-it-mean-when-the-micro-bit-says-tilt-to-fill-screen-)

##### <span style="color: rgb(22, 145, 121);">**Brújula numérica**</span>

El sensor de campo magnético integrado en micro:bit también puede usarse para medir el **campo magnético terrestre**. De esta forma es posible determinar la dirección del norte magnético y programar así una brújula.

De acuerdo con la esencia de micro:bit bastan unas pocas líneas de código para realizar una brújula digital. El código mostrado a continuación indica en pantalla **la dirección a la que apunta el logotipo** cada vez que se presiona el botón A.

[![Brújula digital.png](https://libros.catedu.es/uploads/images/gallery/2023-07/scaled-1680-/brujula-digital.png)](https://libros.catedu.es/uploads/images/gallery/2023-07/brujula-digital.png)

Como el resto de bloques de sensores, el bloque <span style="color: rgb(224, 45, 184);">**dirección de la brújula (º)**</span> se encuentra disponible en el menú <span style="color: rgb(224, 45, 184);">**Entrada**</span>.

La dirección será mostrada en **grados sexagesimales**. Conviene recordar que el valor de 0º corresponde al norte y el de 180º al sur. La siguiente rosa de los vientos puede servir para clarificar la correspondencia entre los puntos cardinales y los rumbos asociados:[![Rosa de los vientos.png](https://libros.catedu.es/uploads/images/gallery/2023-07/scaled-1680-/rosa-de-los-vientos.png)](https://libros.catedu.es/uploads/images/gallery/2023-07/rosa-de-los-vientos.png)

Por ejemplo, y de acuerdo con la rosa de los vientos, una lectura de 340º indicará que el logotipo de micro:bit apunta en dirección casi norte, concretamente nornoroeste.

La **brújula funcionará mejor en exteriores**, ya que el sensor magnético puede ver alteradas sus lecturas por la presencia de masas metálicas en el interior de los edificios, como las de los electrodomésticos o las armaduras de pilares y forjados.

Es posible que al encender micro:bit, aparezca un mensaje en inglés solicitando agitar la tarjeta para **calibrar el sensor**. Esta cuestión se trata en el apartado siguiente.

## Reto Conocer la orientación

El norte magnético es la dirección que señala la aguja imantada de una brújula, dirección que no coincide con la del Polo Norte geográfico. Se puede conocer la orientación si se conocen los grados de desviación respecto el Norte Magnético.

#### Objetivo.

Tras calibrar la brújula, nos dirá la desviación en grados respecto al Norte Magnético de la micro:BIT.

#### Descripción del código.

Usar el evento para siempre, para iniciar el programa.

Mostrar el valor del sensor dirección de la brújula (º) que ofrece el ángulo de desviación respecto el Norte Magnético.

Esperar 1 segundo y borrar la pantalla.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-mcug2ql3.png)

##### <span style="color: rgb(22, 145, 121);">**Brújula analógica**</span>

Vamos a completar la funcionalidad de la brújula añadiendo un cursor que marque continuamente la dirección del norte. Usaremos un **evento de tiempo** para leer el sensor y actualizar el dibujo del cursor cada medio segundo.

Dentro del evento de tiempo, el código dibujará una flecha hacia arriba cuando la dirección de micro:bit sea mayor que 315º o menor que 45º, es decir, cuando el logotipo apunte aproximadamente al norte. Los bloques condicionales y los comparadores usados en el código se encuentran en el menú **<span style="color: rgb(92, 198, 183);">Lógica</span>**.

[![Brújula norte.png](https://libros.catedu.es/uploads/images/gallery/2023-07/scaled-1680-/brujula-norte.png)](https://libros.catedu.es/uploads/images/gallery/2023-07/brujula-norte.png)

Sin embargo, este programa sólo mostrará la flecha cuando el logo apunte al norte, borrando la pantalla en caso contrario. Para que haya una flecha en pantalla apuntando permanentemente al norte, habrá que pulsar sobre el signo **+** para añadir líneas al bloque condicional.

[![Brújula 4 direcciones.png](https://libros.catedu.es/uploads/images/gallery/2023-07/scaled-1680-/brujula-4-direcciones.png)](https://libros.catedu.es/uploads/images/gallery/2023-07/brujula-4-direcciones.png)

<p class="callout info">Nótese que cuando el logo de micro:bit apunta al este, dirección de la brújula (º) &lt; 135, hay que dibujar la flecha apuntando a la izquierda (flecha oeste), y que cuando el logo apunta al oeste, hay que mostrar una flecha apuntando a la derecha (flecha este). Sólo de esta forma la flecha apuntará siempre al norte.</p>

[![este-oeste.png](https://libros.catedu.es/uploads/images/gallery/2023-07/scaled-1680-/este-oeste.png)](https://libros.catedu.es/uploads/images/gallery/2023-07/este-oeste.png)

##### <span style="color: rgb(22, 145, 121);">**Reto Aviso sonoro de orientación Norte**</span>.

Cuando se necesita orientarse con un mapa, lo que primero que hay que hacer, es situar el mapa con orientación norte. Para ellos se debe usar una brújula.

**<span style="text-decoration: underline;">Objetivo</span>**.

Crear un programa que mediante un aviso acústico se advierta de que la micro:BIT está orientada al Norte.

<span style="text-decoration: underline;">**Descripción del código.**</span>

Usar el evento para siempre, para iniciar el programa.

Crear una variable donde se almacenará el valor del sensor obtenido por el bloque dirección de la brújula (º).

Se introduce el condicional si entonces si no para comprobar en qué intervalo se encuentra el valor obtenido por el sensor.

Si el valor se encuentra entre 315º y 45º la micro:BIT se encuentra orientada al Norte, por lo que se mostrará una N y se reproducirá una nota. Si no se cumple la hipótesis, se borra la pantalla.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-jhrtrsaz.png)