Magnetômetro Arduino HMC5883L – Projeto Prático com Display

Em diversos tipos de sistemas de navegação de robôs, pessoas e astronomia, necessitamos determinar a orientação do movimento. Desse modo, necessitamos da bússola a fim de determinar essas orientações. Portanto, por meio dela temos a capacidade de detectar a direção da partícula em movimento. Nesse artigo Magnetômetro Arduino HMC5883L em um Projeto Prático com Display, apresentaremos o processo de construção da bússola com Arduino e o sensor GY 273.

De acordo com o problema, utilizaremos o sensor GY 273, para coleta de dados das informações de direção e apresentaremos no LCD 16×2 com o Arduino.

A seguir, apresentaremos a estrutura de desenvolvimento do projeto.

 

Desenvolvimento do Magnetômetro Arduino HMC5883L

Primeiramente, o dispositivo desenvolvido é apresentado na Figura 1. Por meio dele, podemos utilizá-lo na orientação de pessoas, robôs e astronomia, por exemplo.

Portanto, esse circuito tem a finalidade de determinar a orientação por meio do sensor GY 273. Em seguida, os dados coletados serão utilizados para calcular e apresentar a direção cardeal do objeto no LCD 16×2.

 

Esquemático Magnetômetro Arduino HMC5883L Projeto Prático com Display

Esquemático Magnetômetro Arduino HMC5883L Projeto Prático com Display

 

Em seguida, apresentamos a lista completa dos componentes utilizados nesse projeto.

 

Lista de Componentes para o Projeto Magnetômetro Arduino

A seguir, iniciaremos a apresentação do desenvolvimento da lógica para construção da bússola com o Arduino.

 

Programação da Bússola com Arduino

A princípio, utilizaremos o módulo GY-273, que possui o sensor HMC5883L. Por meio desse sensor, desenvolvemos a lógica para detectarmos a direção de todos os pontos de Norte a Sul e, em seguida, apresentamos as direções no LCD. A seguir, apresentamos a lógica completa para a criação da bússola digital com Arduino.

 

Agora, apresentaremos a discussão passo a passo do código desenvolvido.

Inicialmente, implementamos as bibliotecas e, em seguida, inicializamos o uso da comunicação com o sensor e o LCD na função setup. O código é apresentado a seguir.

Ao final da função, apresentamos a mensagem Direção na linha 0 e coluna 0. Em seguida, o fluxo de execução entrará na função loop. Após isto, iniciará o processo de cálculo do ângulo de orientação do sensor em graus, conforme apresentado abaixo.

Logo após, o sistema ajustará o ângulo entre 0º e 360º, caso o ângulo seja negativo, conforme apresentado a seguir.

Finalmente, após o angulo ser ajustado entre 0º e 360º, serão executadas 8 condições. Desse modo, cada condição possui uma faixa de valores de ângulos, que representam uma direção específica. A seguir, são apresentadas as 8 condições para cada faixa de ângulo.

Logo, baseado nas condições apresentadas acima, o sistema apresentará a orientação do dispositivo. Isto pode ser visto na Figura 2.

Magnetômetro Arduino HMC5883L Indicando Norte

Bússola com Arduino indicando a direção Norte.

 

Portanto, de acordo com a alteração na posição do ângulo do sensor HMC5883, o sistema apresentará uma nova orientação na tela do LCD. A seguir, apresentaremos algumas sugestões de aplicações e projetos futuros com o sensor HMC5883.

 

Conclusão

De acordo com o sistema apresentado, o sensor apresentou estabilidade nas medições das orientações com Arduino. Portanto, por meio dele, é possível aplicá-lo em sistemas que necessitam de cálculo e indicação de orientação na robótica e em outros dispositivos.

Além disso, esse dispositivo sensor é bastante utilizado por observadores da área de astronomia. Dessa forma, é possível realizar cálculos e posicionar os dispositivos de observação para análise dos astros.

Por fim, agradecemos sua leitura e convidamos a deixar suas dúvidas sobre o funcionamento ou discutir novos projetos utilizando esse sensor.

 

Arquivos de Projeto

A seguir, disponibilizamos a lista de arquivos para download e execução do seu projeto.

Biblioteca do Sensor HMC5883

Biblioteca de comunicação I2C com o LCD

 

Categorias
ArduinoProjetos

Técnico em Automação Industrial e graduando do curso de Tecnologia em Mecatrônica Industrial pelo Instituto Federal do Ceará. E, atualmente, trabalha como desenvolvedor de projetos, sistemas inteligentes e criador de conteúdo por meio da empresa Silícios Lab para o seu canal e para o blog da UsinaInfo. Nas horas livres, desenvolve alguns projetos com Microcontroladores e Arduino.
2 Número de Comentários
  • Riguel
    30 setembro 2021 at 05:50
    Deixe seu Comentário

    Bom dia
    Gostaria saber para que servem as duas resistencias de 1K?
    Obrigado.

    • Matheus Gebert Straub
      26 outubro 2021 at 08:38
      Deixe seu Comentário

      Olá Riguel! Pelo que pude observar no projeto, o resistor seria utilizado caso utilizasse um display sem adaptador I2C, mas no esquema apresentado, a principio não é necessário o uso deste componente.

    Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados